// I am solving this question but I am getting TLE
// Can anyone suggest me any other logic??
void multiply(int x,vector<int>&vec){
int carry = 0;
for(int i=0;i<vec.size();i++){
int temp;
temp = vec[i]*x + carry;
vec[i] = temp%10;
carry = temp/10;
}
while(carry){
vec.push_back(carry%10);
carry = carry/10;
}
}
int getLastDigit(string a, string b){
int x = 0;
for(int i=0;i<a.size();i++){
x = x*10 + (a[i]-'0');
}
int y = 0;
for(int i=0;i<b.size();i++){
y = y*10 + (b[i]-'0');
}
vector<int>vec;
vec.push_back(1);
for(int i=0;i<y;i++){
multiply(x,vec);
}
return vec[0];
}