求求你帮帮我吧,这个代码哪里错了;
#include <stdio.h>
int main()
{
int a,b=0,k,i,f;
scanf("%ld",&k);
if(k>=9){printf("overflow");}
else{
for(a=1;a<=k;a++)
{f=1;
for(i=1;i<=a;i++)
f*=i;
b+=f;
}
printf("%ld",b);}
return 0;
}