#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
unsigned D = 0;
cin >> D;
unsigned int a[D];
unsigned int b[D];
for (unsigned char i=1; i<=D; i++)
{
cin >> a[i] >> b[i];
}
for (unsigned char i=1; i<=D; i++)
{
int c=1;
if (b[i]!=0)
{
c=b[i]%4;
switch(c)
{
case 0: cout << (a[i]*a[i]*a[i]*a[i])%10 << endl; break;
case 1: cout << (a[i])%10 << endl; break;
case 2: cout << (a[i]*a[i])%10 << endl; break;
case 3: cout << (a[i]*a[i]*a[i])%10 << endl; break;
}
}
else
{
cout << 1 << endl;
}
}
getchar();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgdW5zaWduZWQgRCA9IDA7CiAgICBjaW4gPj4gRDsKICAgIHVuc2lnbmVkIGludCBhW0RdOwogICAgdW5zaWduZWQgaW50IGJbRF07CgogICAgZm9yICh1bnNpZ25lZCBjaGFyIGk9MTsgaTw9RDsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBhW2ldID4+IGJbaV07CiAgICB9CgogICAgZm9yICh1bnNpZ25lZCBjaGFyIGk9MTsgaTw9RDsgaSsrKQogICAgewogICAgICAgIGludCBjPTE7CiAgICAgICAgaWYgKGJbaV0hPTApCiAgICAgICAgewogICAgICAgIGM9YltpXSU0OwoKICAgICAgICBzd2l0Y2goYykKICAgICAgICB7CiAgICAgICAgY2FzZSAwOiBjb3V0IDw8IChhW2ldKmFbaV0qYVtpXSphW2ldKSUxMCA8PCBlbmRsOyBicmVhazsKICAgICAgICBjYXNlIDE6IGNvdXQgPDwgKGFbaV0pJTEwIDw8IGVuZGw7IGJyZWFrOwogICAgICAgIGNhc2UgMjogY291dCA8PCAoYVtpXSphW2ldKSUxMCA8PCBlbmRsOyBicmVhazsKICAgICAgICBjYXNlIDM6IGNvdXQgPDwgKGFbaV0qYVtpXSphW2ldKSUxMCA8PCBlbmRsOyBicmVhazsKICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgMSA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KCiAgICBnZXRjaGFyKCk7CiAgICByZXR1cm4gMDsKfQo=