LASTDIG - The last digit

Nestor was doing the work of his math class about three days but he is tired of make operations a lot and he should deliver his task tomorrow. His math’s teacher gives him two numbers a and b. The problem consist of finding the last digit of the potency of base a and index b. Help Nestor with his problem. You are given two integer numbers: the base a (0 <= a <= 20) and the index b (0 <= b <= 2,147,483,000), a and b both are not 0. You have to find the last digit of ab.

Input

The first line of input contains an integer t, the number of test cases (t <= 30). t test cases follow. For each test case will appear a and b separated by space.

Output

For each test case output an integer per line representing the result.

Example

Input:
2
3 10
6 2

Output: 9 6

Added by:Jose Daniel Rodriguez Morales
Date:2008-12-01
Time limit:1s
Source limit:700B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: GOSU
Resource:Own

hide comments
2016-01-15 16:18:59
diff outputs in diff line
costed me a wa
simple prob of modular exponentiation
take modulus at each step for base and output
can be done with int only
2015-12-25 08:27:31
Awesome problem !! AC !! :)
2015-11-24 19:58:42 Timmy Jose
Life lesson, guys - always generate your own test cases to test against before submitting!
2015-11-24 19:42:25 Timmy Jose
Infernal problem! Thanks to the guy who suggested testing from 0 0 till 10 5. That helped me fix my edge cases. Damn!
2015-10-17 02:34:17
hhh...If you have the problem of 700MB....you have to look for a solution near to yours...
In fact, you can remarque that all the cases a%10(9cases) can be resumed into just one....mod 4 is the solution...
just you have to take cases b==0 and a==0, each one alone, then b%=4;
after that If b==0, you must put b=4 because when you look at case a%10==8, 8^0 is different from 8^4
Then you make b=pow(a, b)%10 and finally cout<<b<<'\n';

Last edit: 2015-10-17 02:34:59
2015-10-11 10:13:41 satish
what's the idea @ Vivek
2015-10-07 20:16:25
"a and b both are not 0" This means that when a == 0 then b != 0; when b==0 then a != 0.
A test case where a==0 and b==0 is excluded.
2015-09-29 15:37:34
Really easy sum....but it is saying wrong answer in this....but on my pc's compiler its working good...what is the reason?
2015-09-22 23:24:22 Vivek
Really easy.. You don't even Need to remember pattern of various digits such as for 3->3,9,7,1 and so on.
was pending for 6 months.. 1 night simple idea, got AC in two mins.

Last edit: 2015-09-22 23:28:40
2015-09-12 17:12:22
every number repeats after a certain number times
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.