#include<cstdio>
#include<cstring>
struct Numar_mare
{
int nr_cifre=0;
char cifre[101];
void Init(char *s);
int Modulo_100();
};
void Numar_mare::Init(char *s)
{
nr_cifre=strlen(s);
for(int i=0;i<nr_cifre;i++)
cifre[i]=s[i]-'0';
}
int Numar_mare::Modulo_100()
{
if(nr_cifre>=2)
return cifre[nr_cifre-2]*10+cifre[nr_cifre-1];
if(nr_cifre==0)
return 0;
return cifre[nr_cifre-1];
}
int rasp[101];
int Put(int baza,int putere)
{
if(putere==1)
return baza%100;
int x=Put(baza,putere/2);
return ((x*x)%10)*(putere%2?baza:1)%10;
}
void PreCalc()
{
for(int i=1;i<=100;i++)
{
rasp[i]=rasp[i-1]+Put(i,i);
rasp[i]%=10;
}
}
Numar_mare nr_mare;
char cifre[101];
int main()
{
PreCalc();
FILE *in=fopen("cifra.in","r");
int nr_teste=0;
fscanf(in,"%d ",&nr_teste);
FILE *out=fopen("cifra.out","w");
for(int test=1;test<=nr_teste;test++)
{
fscanf(in,"%s ",cifre);
nr_mare.Init(cifre);
fprintf(out,"%d\n",rasp[nr_mare.Modulo_100()]);
}
fclose(in);
fclose(out);
return 0;
}