#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<vector>#include<algorithm>usingnamespace std;#define ll long long#define lb long double#define INF 0x3f3f3f3f#define maxn 1000005int x, y, n, p;voidexgcd(int a,int b){if(!b){x =1; y =0;return;}elseexgcd(b, a % b);int t = x; x = y; y = t - a / b * y;}intmain(){scanf("%d %d",&n,&p);for(int i =1; i <= n ;++ i){exgcd(i, p);
cout <<(x + p)% p << endl;}return0;}
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<vector>#include<algorithm>usingnamespace std;#define ll long long#define lb long double#define INF 0x3f3f3f3f#define maxn 3000025int x, y, n, p;
ll inv[maxn];intmain(){scanf("%d %d",&n,&p);
inv[1]=1; inv[0]=0;
cout <<"1"<< endl;for(int i =2; i <= n ;++ i){
inv[i]=(ll)(p -(p/i))*inv[p % i]%p;printf("%lld\n", inv[i]);}return0;}