this is my solution!
int tilingProb(int n, int m) {
//Base Case
if(n == 0) {
return 1;
}
if(n < 0) {
return 0;
}
//recursive calls
int ans1 = tilingProb(n-m, m);
int ans2 = tilingProb(n-1, m);
return (ans1 + ans2)%1000000007;
}
int main() {
int t;
cin >> t;
while(t--) {
int n, m;
cin >> n >> m;
int res = tilingProb(n, m);
cout << res << endl;
}
}