/*
TASK:fib
LANG:C++
*/
# include <stdio.h>
# include <stdlib.h>

unsigned long long n,m;
unsigned long long last,current,newc;

void print(unsigned long long a) {
    printf("%llu\n", a);
    exit(0);     
}

void read() {
    scanf("%llu %llu", &n,&m);     
    if(m == 1) print(0);
}

void solve() {
     last = 1;
     current = 1;
     for(unsigned long long i = 3; i <= n; i++) {
             newc = (current+last)%m;
             last = current;
             current = newc;     
     }
     print(newc);    
}

int main() {
    read();   
    solve();
    return 0;
}
