#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,a[100],j,k,p,c=0,b;
while(cin>>n){
if(n==0) return 0;
c=0;
b=n;
for(i=0;i<=100;i++)
{
a[i]=0;
}
p=b;
while(p!=0)
{
c++;
p/=10;
}
for(i=2;i<=b;i++)
{
j=i;
k=2;
while(j!=1)
{
if(j%k==0) {a[k]++;j=j/k;}
else k++;
}
}
for(i=0;i<3-c;i++)
{
cout<<" ";
}
cout<<b<<"! =";
k=0;
for(i=0;i<100;i++)
{
if(a[i]>0)
{
if(a[i]>=100 && a[i]<=999) cout<<a[i];
else if(a[i]>=10) cout<<" "<<a[i];
else cout<<" "<<a[i];
k++;
if(k==15){cout<<endl<<" "; k=0;}
}
}
cout<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG4saSxhWzEwMF0saixrLHAsYz0wLGI7CiAgICB3aGlsZShjaW4+Pm4pewoKICAgICAgICAgICAgaWYobj09MCkgcmV0dXJuIDA7CiAgICAgICAgYz0wOwogICAgICAgIGI9bjsKICAgIGZvcihpPTA7aTw9MTAwO2krKykKICAgIHsKICAgICAgICBhW2ldPTA7CiAgICB9CiAgICBwPWI7CiAgICB3aGlsZShwIT0wKQogICAgewogICAgICAgIGMrKzsKICAgICAgICBwLz0xMDsKICAgIH0KICAgIGZvcihpPTI7aTw9YjtpKyspCiAgICB7CiAgICAgICAgaj1pOwogICAgICAgIGs9MjsKICAgICAgICB3aGlsZShqIT0xKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaiVrPT0wKSB7YVtrXSsrO2o9ai9rO30KICAgICAgICAgICAgZWxzZSBrKys7CiAgICAgICAgfQogICAgfQogICAgZm9yKGk9MDtpPDMtYztpKyspCiAgICB7CiAgICAgICAgY291dDw8IiAiOwogICAgfQogICAgY291dDw8Yjw8IiEgPSI7CiAgICBrPTA7CiAgICBmb3IoaT0wO2k8MTAwO2krKykKICAgIHsKICAgICAgICBpZihhW2ldPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGFbaV0+PTEwMCAmJiBhW2ldPD05OTkpIGNvdXQ8PGFbaV07CiAgICAgICAgICAgICAgICBlbHNlIGlmKGFbaV0+PTEwKSBjb3V0PDwiICI8PGFbaV07CiAgICAgICAgICAgICAgICBlbHNlIGNvdXQ8PCIgICI8PGFbaV07CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgICBpZihrPT0xNSl7Y291dDw8ZW5kbDw8IiAgICAgICI7IGs9MDt9CiAgICAgICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGVuZGw7CiAgICB9Cn0K