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: #include<bits/stdc++.h>
using namespace std;

#define pu push_back
#define fi first
#define se second
#define mp make_pair
#define int long long
#define pii pair<int,int>
#define mm (s+e)/2
#define all(x) x.begin(), x.end()
#define For(i, st, en) for(int i=st; i<en; i++)
#define tr(x) for(auto it=x.begin(); it!=x.end(); it++)
#define fast std::ios::sync_with_stdio(false);cin.tie(NULL);
#define sz 200000
set<int> ss;
int yy;

  void solve(int a,int x)
  {    
     
  	  ss.insert(a);
  	if(yy<=x) return; 
  	  solve((a+3LL),x+1);
  	  solve((a-3LL),x+1);
  	  solve((a*2LL),x+1);


  	
  }
signed main()
{
	  


		int t;
		cin>>t;
		
		while(t>0)
		{
			t--;
			int a,b;
			cin>>a>>b;

			ss.clear();
             yy=b+1;
             
             ss.insert(a);
             
             solve(a,1);
             cout<<ss.size()<<endl;
		}
	
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?