N,M=map(int,input().split()) def times(A,B): size=2 res=[[0 for j in range(size)] for i in range(size)] for i in range(size): for j in range(size): for k in range(size): res[i][j]+=A[i][k]*B[k][j] res[i][j]%=M return res def exponen(A,n): if n==0: return [[1,0],[0,1]] elif n%2==0: return exponen(times(A,A),n//2) else: return times(A,exponen(A,n-1)) An=exponen([[1,1],[1,0]],N) print(An[1][1])