def fib(n, m):
prev= 0
f = 1
tmp = [prev, f]
for curr in range(1, n):
fOld = f
f = (f + prev) % m
prev= fOld
if prev== 0 and f == 1:
tmp.pop()
break
else:
tmp.append(f)
a=n%len(tmp)
return str(tmp[a])
def main():
n, m = map(int, input().split())
print(fib(n, m))
if __name__ == "__main__":
main()
ZGVmIGZpYihuLCBtKToKICAgIHByZXY9IDAKICAgIGYgPSAxCiAgICB0bXAgPSBbcHJldiwgZl0KCiAgICBmb3IgY3VyciBpbiByYW5nZSgxLCBuKToKICAgICAgICBmT2xkID0gZgogICAgICAgIGYgPSAoZiArIHByZXYpICUgbQogICAgICAgIHByZXY9IGZPbGQKCiAgICAgICAgaWYgcHJldj09IDAgYW5kIGYgPT0gMToKICAgICAgICAgICAgdG1wLnBvcCgpCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdG1wLmFwcGVuZChmKQogICAgYT1uJWxlbih0bXApCiAgICByZXR1cm4gc3RyKHRtcFthXSkKZGVmIG1haW4oKToKICAgIG4sIG0gPSBtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpCiAgICBwcmludChmaWIobiwgbSkpCgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIG1haW4oKQ==