#include<bits/stdc++.h>
using namespace std;
int n, cnt, prime[1000010], v[1000010];
int main(){
cin >> n;
for(int i = 2; i <= n; i++){
if(v[i] == 0){
v[i] = i;
prime[++cnt] = i;
}
for(int j = 1; j <= cnt; j++){
if(prime[j] > v[i] || prime[j] * i > n) break;
v[prime[j] * i] = prime[j];
}
}
for(int i = 1; i <= cnt; i++){
int sum = 0;
int k = prime[i];
while(k <= n){
sum += n / k;
k *= prime[i];
}
if(sum > 0){
cout << prime[i] << ' ' << sum << endl;
}
}
return 0;
}
错最后一个点