#include<iostream>
#include<stdio.h>
using namespace std;
typedef long long ll;
const int N = 3000010;
ll inv[N];
//扩欧
//void ex_gcd(ll a,ll b,ll &x,ll &y,ll &d) {
// if(!b) {
// d=a,x=1,y=0;
// }
// else {
// ex_gcd(b,a%b,y,x,d);
// y -= x*(a/b);
// }
//}
//ll inv(ll t,ll p) {
// ll d,x,y;
// ex_gcd(t,p,x,y,d);
// return d==1?(x%p+p)%p:-1;
//}
//费马小定理+快速幂
//ll pow_mod(ll a,ll b,ll p) {
// ll ret =1;
// while(b) {
// if(b&1)
// ret = (ret*a)%p;
// a = (a*a)%p;
// b >>= 1;
// }
// return ret;
//}
//ll Fermat(ll a,ll p) {
// return pow_mod(a,p-2,p);
//}
int main() {
ll a,p;
scanf("%lld%lld",&a,&p);
//扩欧
// for(int i=1;i<=a;i++)
// cout<<inv(i,p)<<endl;
//费马小定理
// for(int i=1;i<=a;i++)
// cout<<Fermat(i,p)<<endl;
//线性
// inv[1]=1;
// puts("1");
// for(int i=2;i<=a;i++) {
// inv[i] = (p-p/i)*inv[p%i]%p;
// printf("%d\n",inv[i]);
// }
return 0;
}