#include <stdio.h>
#include <string.h>
#include <time.h>
long get_count(long val) {
long count=0, i = 5;
while( i <= val ) {
count += val/i;
i *= 5;
}
return count;
}
long get_N(long P) {
long min = 3*P, max = 5*P, mid, zeros;
while ( min <= max) {
mid = (min + max)/2;
zeros = get_count(mid);
printf("min=%ld max=%ld zeros=%ld\n", min, max, zeros );
if(zeros==P)
return (mid - mid%5);
if(zeros>P) {
max = mid-1;
} else {
min = mid+1;
}
if(min>max)
return -1;
}
return -1;
}
int main(int argc, char *argv[]) {
int fin[] = {0,1,4,7,6,5,6,3,6,9,0,1,6,3,6,5,6,7,4,9,0};
long T, i=0, N, last = 0;
int pen, ult, j;
char c[101];
//clock_t start = clock();
FILE *f1 = fopen("cifra.in", "r");
fscanf(f1, "%ld", &T);
FILE *f2 = fopen("cifra.out", "w");
//printf("T=%ld\n", T);
int lastthree = 0;
while(i++<T) {
lastthree = 0;
fscanf(f1, "%s", c);
if(strlen(c)>2)
lastthree = lastthree + c[strlen(c)-3]-'0';
if(strlen(c)>1)
lastthree = lastthree*10 + c[strlen(c)-2]-'0';
lastthree = lastthree*10 + c[strlen(c)-1]-'0';
//printf("c=%s lastthree= %d\n", c, lastthree);
pen = lastthree / 20;
ult = lastthree % 20;
last = pen * 4;
j=0;
while(j<ult) {
//printf("last = %ld fin[%d] = %d\n", last, j, fin[j]);
last += fin[++j];
//j++;
}
N = last%10;
//printf("N=%ld last = %ld \n", N, last);
fprintf(f2, "%ld\n", N);
}
fclose(f1);
fclose(f2);
//printf ( "%f ms\n\n", ( (double)clock() - start ) * 1000 / CLOCKS_PER_SEC);
return 0;
}