from itertools import combinations_with_replacement def partition(n, ns, p): integers = [] for i in range(1, len(ns)+2): for j in combinations_with_replacement(ns, i): integers.append(j) found = False for integer in integers: if sum(integer) == n: p[n] = integer found = True break if not found: p[n] = (n,) boards = list(map(int, input().split(' '))) boards.sort() N = len(boards) partitions = {} for i in reversed(range(N-1)): board = boards[i] partition(board, boards[:i], partitions) solution = 0 for p in partitions: solution += len(partitions[p]) print(solution+1)