class Solution {
public int lastRemaining(int n, int m) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++){
list.add(i);
}
m = m - 1;
int index = 0;
while (list.size() > 1){
int length = list.size();
list.remove((m + index) % length);
index = (m + index) % length;
}
return list.get(0);
}
}