int[] powersOfTwo(int n) {
List<Integer> res = new ArrayList<>();
int i = 0;
while (n!= 0) {
if (n%2 != 0) res.add((int)Math.pow(2, i));
n /=2;
i++;
}
int[] ress = new int[res.size()];
int j = 0;
for (Integer c : res) ress[j++] = c;
return ress;
}