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()