# -*- coding: utf-8 -*- cache = {1 : 0, 2 : 1} def rev(k): for w in range(k): fab(w) return fab(k) def fab(k): if k < 1: return 0 elif k in cache: return cache[k] else: if not k - 2 in cache: cache[k - 2] = fab(k - 2) if not k - 1 in cache: cache[k - 1] = fab(k - 1) cache[k] = cache[k - 1] + cache[k - 2] return cache[k] def solve(input): n = int(input.split(" ")[0]) m = int(input.split(" ")[1]) return rev(n) % m if __name__ == "__main__": print solve(raw_input())