## Algorithm

Problem Name: 372. Super Pow

Your task is to calculate ab mod 1337 where a is a positive integer and b is an extremely large positive integer given in the form of an array.

Example 1:

Input: a = 2, b = [3]
Output: 8

Example 2:

Input: a = 2, b = [1,0]
Output: 1024

Example 3:

Input: a = 1, b = [4,3,3,8,5,2]
Output: 1

Constraints:

• 1 <= a <= 231 - 1
• 1 <= b.length <= 2000
• 0 <= b[i] <= 9
• b does not contain leading zeros.

## Code Examples

### #1 Code Example with Javascript Programming

Code - Javascript Programming

const superPow = function(a, b) {
const base = 1337
function powmod(a, k) {
a %= base
let res = 1
for(let i = 0; i  <  k; i++) res = res * a % base
return res
}
if(b.length === 0) return 1
const last = b.pop()
return powmod(superPow(a, b), 10) * powmod(a, last) % base
};
Copy The Code &

Input

cmd
a = 2, b = [3]

Output

cmd
8

### #2 Code Example with Python Programming

Code - Python Programming

class Solution:
def superPow(self, a, b):
return pow(a, int(''.join(map(str, b))), 1337)
Copy The Code &

Input

cmd
a = 2, b = [3]

Output

cmd
8