#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin ("cifra.in");
ofstream fout ("cifra.out");
int SUM[105]= { 0,1,5,2,8,3,9,2,8,7,7,
8,4,7,3,8,4,1,5,4,4,5,
9,6,2,7,3,6,2,1,1,2,8,
1,7,2,8,5,9,8,8,9,3,0,
6,1,7,0,6,5,5,6,2,5,1,
6,2,9,3,2,2,3,7,4,0,5,
1,4,0,9,9,0,6,9,5,0,6,
3,7,6,6,7,1,8,4,9,5,8,
4,3,3,4,0,3,9,4,0,7,1,
0,0};
int N, len;
char Nr[105];
// - '0' chestia aia de la Lupse cu convertirea in numar <3
int solve()
{
int X;
len = strlen(Nr);
if(len == 1){ //One "cifra"
fout << SUM[Nr[0] - '0'];
return 0;
}
if(len == 2){ // Two "cifra" - ideea e sa formam efectiv numarul si sa afisam ultima cifra
fout << SUM[ (Nr[0] - '0') * 10 + (Nr[1] - '0') ];
return 0;
}
if(len >= 3){ // Here comes the shit.. > . >
// Formam ultimele 3 cifre, le luam pe ultimele 2
X = 0;
for(int i = len - 3; i < len; i++)
{
X = X * 10 + (Nr[i] - '0');
}
fout << SUM[X % 100];
}
return 0;
}
void read()
{
fin >> N;
for(int i = 1; i <= N; i++)
{
fin >> Nr;
solve(); fout << "\n";
}
}
int main()
{
read();
return 0;
}