Huge Number

This is a companion discussion topic for the original entry at

for i in range(1,int(input())+1):s*=i

what is the problem with this?

int main(){
unsigned long n,i,s=1;scanf("%lu",&n);for(i=1;i<=n;i++)s*=i;printf("%lu\n",s);}
what are the difference between those two logics?

Speaking of problems, I think there is none.
@hjr265 , I think you should look into this problem a little.
I can also not find any reason for my submission to be rejected.
By the way, I have unlocked the editorial, if my submissions are accepted then I will request you to fix it also. (the drawbacks of unlocking the tutorial)

@touhidur The problem has been updated and your submissions have been rejudged.

@hjr265 I submitted my code as like as accepted code but i getting wa in 3rd case. what the reason behind this.
please explain briefly.
Thank you.