#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
void seive(int r,vector<int> &spf) {
vector<int> arr(r+1,1);
spf.resize(r+1);
for(int i=0;i<=r;i++){
spf[i]=i;
}
for(int i=2;i<=r;i++){
if(arr[i]==1){
ll j= (ll)i*(ll)i;
while(j<=r){
if(spf[j]==j){
spf[j]=i;
}
arr[j]=0;
j=j+i;
}
}
}
}
int main() {
int r;
cin>>r;
vector<int> spf;
seive(r,spf);
for (int i = 2; i <= r; i++) {
cout << "SPF[" << i << "] = " << spf[i] << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwoKCnZvaWQgc2VpdmUoaW50IHIsdmVjdG9yPGludD4gJnNwZikgewoJCiAgICAgICAgdmVjdG9yPGludD4gYXJyKHIrMSwxKTsKICAgICAgICBzcGYucmVzaXplKHIrMSk7CiAgICAgICAgZm9yKGludCBpPTA7aTw9cjtpKyspewogICAgICAgIAlzcGZbaV09aTsKICAgICAgICB9CiAgICAgICAKICAgICAgICBmb3IoaW50IGk9MjtpPD1yO2krKyl7CiAgICAgICAgICAgIGlmKGFycltpXT09MSl7CiAgICAgICAgICAgICAgICBsbCBqPSAobGwpaSoobGwpaTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgd2hpbGUoajw9cil7CiAgICAgICAgICAgICAgICBpZihzcGZbal09PWopewogICAgICAgICAgICAgICAgCXNwZltqXT1pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGFycltqXT0wOwogICAgICAgICAgICAgICAgICAgIGo9aitpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgfQogIAoKICAgIAoKaW50IG1haW4oKSB7CglpbnQgcjsKCWNpbj4+cjsKCXZlY3RvcjxpbnQ+IHNwZjsKCXNlaXZlKHIsc3BmKTsKCQoJIGZvciAoaW50IGkgPSAyOyBpIDw9IHI7IGkrKykgewogICAgICAgIGNvdXQgPDwgIlNQRlsiIDw8IGkgPDwgIl0gPSAiIDw8IHNwZltpXSA8PCAnXG4nOwogICAgfQoJcmV0dXJuIDA7Cn0=