import java.util.*;
class Solution {
static ArrayList<Boolean> list;
public int solution(int k, int[][] dungeons) {
int answer = -1;
list = new ArrayList<Boolean>();
for(int i=0; i<dungeons.length; i++) {
list.add(false);
}
answer = Answer(k,0,dungeons);
return answer;
}
int Answer(int k, int count, int[][] dungeons) {
int max_count = count;
for(int i=0; i<list.size(); i++) {
if(list.get(i) == true || k < dungeons[i][0]) continue;
list.set(i,true);
max_count = Math.max(max_count, Answer(k - dungeons[i][1], count+1, dungeons));
list.set(i,false);
}
return max_count;
}
}