Submission details
Task:Exponentiation II
Sender:megachainmail
Submission time:2020-10-10 16:16:35 +0300
Language:Python3 (CPython3)
Status:READY
Result:
Test results
testverdicttime
#1--details
#2--details
#3--details
#4--details
#5--details
#6--details
#7--details
#8--details
#9--details
#10--details
#11--details
#12--details
#13UNKNOWN--details

Code

mod = 10**9 + 7

def exp(b, c):
    if c == 0:
        return 1

    bits = []
    temp = c
    while temp != 0:
        bits.append(temp % 2 == 1)
        temp //= 2
    # tanne jotain
    potenssit = [b]
    for i, bit in enumerate(bits[1:]):
        potenssit.append( (potenssit[-1] ** 2) )
    
    prod = 1
    for i, bit in enumerate(bits):
        if not bit:
            continue
        prod *= potenssit[i]
        prod %= mod
    return prod


def main():
    n = int(input())
    for i in range(n):
        (a, b, c) = [int(s) for s in input().split()]
        res1 = exp(b, c) % mod
        #print(res1)
        res2 = exp(a, res1)
        print(res2 )

if __name__ == "__main__":
    #print(exp(2, 3))
    main()

Test details

Test 1

Verdict:

input
100
0 0 4
6 10 0
10 2 10
1 0 8
...

correct output
1
6
148946603
1
3
...

user output
(empty)

Test 2

Verdict:

input
100
9 4 5
8 4 0
4 8 2
3 5 5
...

correct output
214554799
8
279632277
611730172
715652984
...

user output
(empty)

Test 3

Verdict:

input
100
7 8 8
10 10 7
2 9 2
8 10 0
...

correct output
730885442
20339523
993282280
8
625
...

user output
(empty)

Test 4

Verdict:

input
100
5 8 8
2 0 3
9 4 3
4 6 3
...

correct output
282452398
1
989568599
693723814
0
...

user output
(empty)

Test 5

Verdict:

input
100
1 5 9
0 9 10
6 4 0
3 0 2
...

correct output
1
0
6
1
1
...

user output
(empty)

Test 6

Verdict:

input
100000
427077162 725488735 969284582
690776228 346821890 923815306
120792413 830417705 620512131
124338009 281003983 942892968
...

correct output
464425025
534369328
130727849
700118497
107743432
...

user output
(empty)

Test 7

Verdict:

input
100000
549912649 89327521 871975745
535279536 932155670 905816213
823612334 695788501 444512992
759615176 787119545 554458804
...

correct output
881129043
382882527
629531040
187731964
645183800
...

user output
(empty)

Test 8

Verdict:

input
100000
936404322 396567517 790669439
481270350 76922724 629921729
671743438 191526060 967294836
924162618 12077521 309065226
...

correct output
97939641
444610902
764760944
908139640
141442423
...

user output
(empty)

Test 9

Verdict:

input
100000
351202328 968630319 166200341
255212213 264616175 551048264
424158298 619081986 947433051
684487950 75127045 253732667
...

correct output
366599160
848441769
956822386
613949824
120366590
...

user output
(empty)

Test 10

Verdict:

input
100000
209975923 983464825 764619594
941857563 817930575 870450878
369061594 330537317 297179961
654309611 829387219 969440105
...

correct output
374576231
275090960
409421171
987526468
359724919
...

user output
(empty)

Test 11

Verdict:

input
100000
1000000000 1000000000 10000000...

correct output
497489713
497489713
497489713
497489713
497489713
...

user output
(empty)

Test 12

Verdict:

input
1
140306 140306 140306

correct output
191305161

user output
(empty)

Test 13

Verdict: UNKNOWN

input
1
0 0 0

correct output
0

user output
(not available)