#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<cstdio>
using namespace std;
bool x[101];
vector<long long>prime;
vector<long long>kos_ki;
int main()
{
long long n=100;
prime.push_back(2);
long long i,j,k;
for(i=3;i*i<=n;i=i+2)
{
if(x[i]==0)
{
for(j=i*i;j<=n;j=j+i+i)
{
x[j]=1;
}
}
}
for(i=3;i<=n;i=i+2)
{
if(x[i]==0)
prime.push_back(i);
}
long long p,sum;
while(scanf("%lld",&p)!=EOF)
{
if(p==0)
break;
for(j=0;j<prime.size();j++)
{
if(prime[j]>p)
break;
sum=0;
for(k=prime[j];k<=p;k=k*prime[j])
{
sum=sum+(p/k);
}
kos_ki.push_back(sum);
}
printf("%3lld! =",p);
for(k=0;k<kos_ki.size();k++)
{
printf("%3lld",kos_ki[k]);
if(k%14==0&&k>0)
{
printf("\n");
printf(" ");
}
}
printf("\n");
kos_ki.clear();
}
}
ICAjaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8Y3N0ZGlvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIHhbMTAxXTsKdmVjdG9yPGxvbmcgbG9uZz5wcmltZTsKdmVjdG9yPGxvbmcgbG9uZz5rb3Nfa2k7CmludCBtYWluKCkKewoJICBsb25nIGxvbmcgbj0xMDA7CgkgIHByaW1lLnB1c2hfYmFjaygyKTsKCSAgbG9uZyBsb25nIGksaixrOwoJICBmb3IoaT0zO2kqaTw9bjtpPWkrMikKCSAgewoJCSAgaWYoeFtpXT09MCkKCQkgIHsKCQkJICBmb3Ioaj1pKmk7ajw9bjtqPWoraStpKQoJCQkgIHsKCQkJCSAgeFtqXT0xOwoJCQkgIH0KCQkgIH0KCSAgfQoJICBmb3IoaT0zO2k8PW47aT1pKzIpCgkgIHsKCQkgIGlmKHhbaV09PTApCgkJCSAgcHJpbWUucHVzaF9iYWNrKGkpOwoJICB9CgkgIGxvbmcgbG9uZyBwLHN1bTsKCSAgd2hpbGUoc2NhbmYoIiVsbGQiLCZwKSE9RU9GKQoJICB7CgkJICBpZihwPT0wKQoJCQkgIGJyZWFrOwoJCWZvcihqPTA7ajxwcmltZS5zaXplKCk7aisrKQoJCXsKCQkJaWYocHJpbWVbal0+cCkKCQkJCWJyZWFrOwoJCQlzdW09MDsKCQkJZm9yKGs9cHJpbWVbal07azw9cDtrPWsqcHJpbWVbal0pCgkJCXsKCgkJCQlzdW09c3VtKyhwL2spOwoJCQl9CgkJCWtvc19raS5wdXNoX2JhY2soc3VtKTsKCQl9CgkJcHJpbnRmKCIlM2xsZCEgPSIscCk7CgkJZm9yKGs9MDtrPGtvc19raS5zaXplKCk7aysrKQoJCXsKCQkJCgkJCXByaW50ZigiJTNsbGQiLGtvc19raVtrXSk7CgkJCWlmKGslMTQ9PTAmJms+MCkKCQkJewoJCQkJcHJpbnRmKCJcbiIpOwoJCQkJcHJpbnRmKCIgICAgICAiKTsKCQkJfQoJCQkgCgkJfQoJCXByaW50ZigiXG4iKTsKCQlrb3Nfa2kuY2xlYXIoKTsKCSAgfQp9Cg==