#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[] = {1,4,7,6,5,6,3,6,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);
while(i++<T) {
fscanf(f1, "%s", c);
if(strlen(c)>1)
pen = c[strlen(c)-2]-'0';
else
pen = 0;
ult = c[strlen(c)-1]-'0';
printf("c=%s pen= %d ult=%d \n", c, pen, ult);
if(pen%2 > 0)
last = 5;
else
last = 0;
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;
}