n = int(input()) A = list(map(int, input().split())) def f(l, s, m): return l * 100000000 + s * 10000 + m # 長さ 合計値 最大値 dp = {0:1} for a in A: dp2 = {} for lsm, v in dp.items(): l = lsm // 100000000 lsm -= l * 100000000 s = lsm // 10000 m = lsm - s * 10000 dp2[f(l, s, m)] = dp2.get(f(l, s, m), 0) + v dp2[f(l + 1, s + a, max(m, a))] = dp2.get(f(l + 1, s + a, max(m, a)), 0) + v dp = dp2 ans = 0 for lsm, v in dp.items(): l = lsm // 100000000 lsm -= l * 100000000 s = lsm // 10000 m = lsm - s * 10000 if l >= 2: if s % (l - 1) == 0 and m <= s // (l - 1): ans += v print(ans)