PALIN:Getting WA

i have submited the code
#include<stdio.h>
#define get getchar_unlocked()
//#define MAX 1000001
inline int fast_input(){
int input;
char c=0;
while(c<33)c=get;
input=0;
while(c>33){
input=input*10+c-‘0’;
c=get;
}
return input;
}

inline long reverse(long n){
long sum=0;
while(n!=0){
sum=(sum*10)+(n%10);
n/=10;
}
return sum;
}

inline long Is_palindrom(long i){
if(i==reverse(i))
return 1;
else
return 0;
}
int main()
{
int t;
long k,i;
// printf("\n\n");
t=fast_input();
//printf("\n\n");
while(t–){
k=fast_input();
for(i=k+1;;i++){
if(Is_palindrom(i)){
printf("%ld\n",i);
break;
}
}
// printf("\n\n");
}
return 0;
}
but i am getting wrong answer,can any one help me.
thanks in advance.

@nitya Try your code for k=10^20. It will be giving wrong answer. The input size is as large as 1000000 digits. So it cannot be done by taking long long int type k. You need to take the input in a string.