#include<cstdio>
#include<cstring>
const int maxn=1e5+7;
using namespace std;
inline int read(){
int x=0,f=1;
char ch=getchar();
while(ch>'9'||ch<'0'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
long long inv[maxn];
void inverse(int mod){
inv[0]=inv[1]=1;
for(int i=2;i<maxn;i++){
inv[i]=((mod-mod/i)*inv[mod%i])%mod;
}
}
int main(){
int n,p;
n=read(),p=read();
inverse(p);
for(int i=1;i<=n;i++){
printf("%lld
",inv[i]);
}
return 0;
}