n //= 2
return result

def subsets(n):
    m = pow([[0, 1], [1, 1]], n, 524287)
return (m[0][0] + 2 * m[0][1]) % 524287
for i in range(1, 10):
    print(i, subsets(i))
for i in range(1, 20):
    pass
OverFlowError while solving "Number of subsets without consecutive numbers"