Holding large data in C

I encounter this problem every now and then while solving codechef problems.I get the simple non complicated logic to solve problems and it end up as a wrong answer or compile error only due to data type mistakes.I see people using long long int etc but it never solved my problems.
Recently I was solving this simple problem and got a simple logic with lesser code.But it is not working for inputs like 100. I think it is a data type problem and please help me.I use C .Thanks in advance

/TAPALIN SOLUTION/
#include<stdio.h>
main()
{
int t,n,palc=0,i,j,temp=1;
scanf("%d",&t);
while(t–)
{
palc=0;
scanf("%d",&n);
for(i=n;i>0;i–)
{
temp=1;
for(j=0;j<(i-(i/2));j++)
{
temp*=26;
}
palc+=temp;
}
printf("%d\n",palc%10000000007);
}
}