#include <bits/stdc++.h>
using namespace std;
//无关的元素.png
//算法入门经典
// 组合数Cmn很大,很有可能溢出,真的非常大,类似于n!,即使longlong也存不下
// 在这种情况下 可以考虑 用组合数递推公式,这样从1开始每次对(n-k+1)/k进行素因子分解然后累加,
//就得到了每个的分解结果,但是要注意(n-k+1)/k可能<1所以还要分情况,
//在<1时只能把分母的值用已经得到的上次的C值消去,肯定可以消去
int n,m;
map<int,int> yinzi;//m的素因子及其个数
void fenjie(){
int i=2,x=m,s=0;
while(x>1){
while(x%i==0){
x=x/i;
s++;
}
if(x%i!=0){
if(s!=0){
yinzi.insert(make_pair(i,s));
cout<<i<<" "<<s<<endl;
}
s=0;
i++;
}
}
}
int main()
{
// //m>=2,所以a1 an都不行
// while(cin>>n>>m){
// yinzi.clear();
// fenjie();
// int oks=0,p[yinzi.size()]={0},flg=1,index;
// memset(p,0,sizeof(p));
// for(int i=1;i<n-1;i++){
// int k;
// if(n-i<i) {flg=-1;k=i/(n-i);}
// else k=(n-i)/i;
// index=0;
// cout<<k<<endl;
// for(map<int,int>::iterator it=yinzi.begin();it!=yinzi.end();it++){
// // cout<<it->first<<endl;
// while(k%(it->first)==0){
// k=k/(it->first);
// p[index]+=flg;
// if(p[index]==it->second){
// oks+=flg;
// }
// }
// // cout<<p[index]<<endl;
// index++;
// }
// // cout<<oks<<endl;
// for(int pp=0;pp<5;pp++) cout<<p[pp]<<" ";cout<<endl;
// if(oks==yinzi.size()) cout<<"a"<<i+1<<" ";
// }
// cout<<endl;
// }
return 0;
}