#include <iostream>
#include <fstream>
#include <cstdio>
#include <string>
using namespace std;
string ttt;
int T,N;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int pow(int n,int p) {
int res;
if (p == 0) return 1;
if (p == 1) return n;
if ((p % 2) == 0) {
res = pow(n,p/2);
return res*res;
} else
return n*pow(n,p-1);
}
int cif[100] = {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 main() {
int i,res,p;
fin >> T;
for (;T;T--) {
fin >> ttt;
res = 0;
/*
for (i=1;i<=(ttt[strlen(ttt)-1] - '0');++i) {
res += pow(i,i) % 10;
res = res % 10;
}*/
p = ttt[ttt.length()-1] - '0';
if (ttt.length() > 1) p = (ttt[ttt.length()-2] - '0') * 10 + p;
res = cif[p-1];
fout << res << endl;
}
fin.close();
fout.close();
return 0;
}