#include<iostream>
using namespace std;
string n,m;
struct node{
int a[10000];
int we=0;
bool zf=1;
};
node x,y;
void pd(node ans){
if(ans.a[ans.we]==0){
for(int i=ans.we;i>=1;i--){
if(ans.a[i]==0){
ans.we--;
}
}
}
return;
}
node jia(node n,node m)
{
int we1=n.we;
int we2=m.we;
int mm=0;
int wen=max(we1,we2);
node ans;
if(n.zf==0&&m.zf==0) {
ans.zf==0;
for(int i=1;i<=wen;i++)
{
ans.a[i]=n.a[i]+m.a[i]+mm;
mm=ans.a[i]/10;
ans.a[i]%=10;
ans.we++;
}
}
if(n.zf==1&&m.zf==0){
for(int i=1;i<=wen;i++)
{
if(n.a[i]-mm-m.a[i]<0){
ans.a[i]=n.a[i]-m.a[i]-mm+10;
ans.we++;
mm=1;
continue;
}
ans.a[i]=n.a[i]-m.a[i]-mm;
mm=0;
}
if(mm==1){
ans.zf=0;
for(int i=1;i<=ans.we;i++){
ans.a[i]=0;
}
ans.we=0;
mm=0;
for(int i=1;i<=wen;i++)
{
if(m.a[i]-mm-n.a[i]<0){
ans.a[i]=m.a[i]-n.a[i]-mm+10;
ans.we++;
mm=1;
continue;
}
ans.a[i]=m.a[i]-n.a[i]-mm;
mm=0;
}
}
}
if(n.zf==1&&m.zf==1){
for(int i=1;i<=wen;i++)
{
ans.a[i]=n.a[i]+m.a[i]+mm;
mm=ans.a[i]/10;
ans.a[i]%=10;
ans.we++;
}
}
pd(ans);
return ans;
}
node cheng(node n,node m)
{
int we1=n.we;
int we2=m.we;
int mm=0;
node ans;
node s;
for(int i=1;i<=we1;i++)
{
for(int k=1;k<=s.we;k++){
s.a[k]=0;
}
s.we=i-1;
for(int j=1;j<=we2;j++)
{
s.a[j+i-1]=n.a[i]*m.a[j]+mm;
mm=s.a[j+i-1]/10;
s.a[j+i-1]%=10;
s.we=i+j-1;
}
ans=jia(ans,s);
mm=0;
}
if(n.zf==0&&m.zf==1||m.zf==0&&n.zf==1) ans.zf=0;
pd(ans);
return ans;
}
void scn(node z){
if(z.zf==0)cout<<'-';
for(int i=z.we;i>=1;i--){
cout<<z.a[i];
}
return;
}
int main()
{
cin>>n>>m;
int nn=n.size();
int mm=m.size();
for(int i=0;i<nn;i++)
{
if(n[nn-i-1]=='-'){
x.zf=0;
}
else{
x.a[i+1]=n[nn-i-1]-'0';
x.we++;
}
}
for(int i=0;i<mm;i++)
{
if(m[mm-i-1]=='-'){
y.zf=0;
}
else{
y.a[i+1]=m[mm-i-1]-'0';
y.we++;
}
}
node z=jia(x,y);
pd(z);
scn(z);
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
int n,num,d,bb=1;
int a[1010],b[1010];
int main(){
cin>>n;
for(int i=2;i<=1000;i++){
if(a[i]==0){
for(int j=i+i;j<=1000;j+=i){
a[j]=1;
}
}
}
for(int i=2;i<=1010;i++){
if(a[i]==0) b[bb++]=i;
cout<<a[i]<<' ';
}
for(int i=4;i<=n;i++)
{
d=i;
for(int j=1;j<=bb;j++){
if(d%b[j]==0){
num++;
i/=d;
}
if(num==1) break;
if(d==1) cout<<d<<' ';
}
}
return 0;
}