For this Question: You are given 2 numbers a, b.

You can perform at most b steps

In one step :
1- increase a by 3
2- decrease a by 3
3- multiply a by 2

Find number of distinct numbers we can make after performing at most b operations on a.The first line contains the number of tests T.

For each test case: 
Input two integers a and b.

0 < T <= 100
1 <= a <= 100000
1 <= b <= 9Print answer on a separate line for each test caseSample Input
2
5 1
30 2

Sample Output
4
11

For test 1:-
In 0 steps, 5 can be formed
In 1 steps 2, 8, 10 can be formed

For test 2:-
in 0 step :- 30
in 1 step- 27 33 60
in 2 step:- 24, 30, 54, 30, 36, 66, 57 63 120

total unique number = 11, I have written this Solution Code: import java.util.*;
class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        while(t-->0){
            int a=sc.nextInt();
            int b=sc.nextInt();
            ArrayList<Integer> arr=new ArrayList();
            arr.add(a);
             for(int j=1;j<b+1;j++)
             {   int decrease=0;
                 int increse=0;
                 int mul=0;
                 int len=arr.size();
                 for(int e=0;e<len;e++)
                 {
                     decrease=arr.get(e)-3;
                     if(!arr.contains(decrease))
                     {
                     arr.add(decrease);
                     }

                 increse=arr.get(e)+3;
                 if(!arr.contains(increse))
                 {
                     arr.add(increse);
                 }
                 mul=arr.get(e)*2;
                 if(!arr.contains(mul))
                 {
                     arr.add(mul);
                 }
             }
             }
             System.out.println(arr.size());
        }
    }
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?