n,mod = map(int,input().split()) def f(a,b): ans = [[0 for i in range(len(b[0]))] for j in range(len(a))] for i in range(len(a)): for j in range(len(b[0])): for k in range(len(b)): ans[i][j] += a[i][k]*b[k][j] % mod ans[i][j] %= mod return ans ans = [[1,0],[0,1]] m = [[0,1],[1,1]] for i in range(n+10): if 2 ** i > n: break if 2**i & n: ans = f(ans,m) m = f(m,m) print(ans[0][0])