#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<cmath>
using namespace std;
int n,m;
int sum[3000];
bool is_prime(int x)
{
if(x==1) return 0;
if(x==2 || x==3) return 1;
if(x%6!=1&&x%6!=5) return 0;
for(int i=5;i<=sqrt(x);i+=6)
{
if((x%i==0&&x!=i) || (x%(i+2)==0&&x!=(i+2))) return 0;
}
return 1;
}
int main()
{
cin>>n;
m=n;
for(int i=1;i<=n;i++)
{
while((m%i==0) && is_prime(i))
{
sum[i]++;
m=m/i;
}
}
for(int i=1;i<=n;i++)
{
if(sum[i]!=0) cout<<i<<' '<<sum[i]<<endl;
}
}