# Process input
n, m = tuple(map(int, input().split()))
arr = list(map(int, input().split()))
# DFS
def dfs(i, acc):
if i == len(arr):
return acc % m
return max(dfs(i+1, acc), dfs(i+1, acc+arr[i]))
# Call func and output
res = dfs(0, 0)
print(res)



京公网安备 11010502036488号