/*
* 解题思路:
* 题意:求改 输入数字 n 阶乘的最后一个非0位的值
* 刚开始结果不对是因为只保留tmp只保留了1位,应该高位一点,,比如 12 * 15 = 180 , 好像末位是8,进位是1,
* 但是 82912 *15 = 1243680,实际上是末位是8,进位是6
*/
#include <stdio.h>
int main( )
{
int n,i,sum,tmp,x;
while( ~scanf("%d",&n) )
{
for( i=sum=1,tmp=0;i<=n;i++ )
{
if( i*sum %10 != 0 )
{
tmp = i * (tmp*10+sum) /10;
sum = i*sum%10;
}
else
{
tmp = i * (tmp*10+sum) /10;
x = tmp % 10;
tmp /= 10;
while( !x )
{
x = tmp % 10;
tmp /= 10;
}
sum = x;
}
tmp %= 10000;
}
printf("%5d -> %d\n",n,sum);
}
return 0;
}