An integer N (1 ≤ N ≤ 16), representing some quantity or size.
An integer M (0 ≤ M ≤ 16), representing another quantity or size.
A sorted list of M distinct integers A, where each integer is between 2 and 2^N (inclusive).

### Example Input:

```
2 1
3
```

### Function Signature:
Write a function f(N, M, A) that takes in the input.
def f(N: int, M: int, A: List[int]): 
    ''' 
    N: an integer 
    M: an integer 
    A: a list of integers
    '''