Please help me find the error
def tile(n, m, s):
if n==m:
return 2
elif n<m:
return 1
if s[n]!=-1:
return s[n]
a = tile(n-1,m,s)
b = tile(n-m,m,s)
s[n] = a+b
return a+b
t = int(input())
for _ in range(t):
n, m = list(map(int, input().split()))
s = [-1] * (n+1)
if m > n:
print(1)
continue
elif m == n:
print(2)
continue
for i in range(m):
s[i] = 1
s[m] = 2
x = tile(n, m, s)
print(x)