import java.util.Scanner;
public class Main {
private static long max;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[] arr = new int[n];
int[] visited = new int[n];
for(int i =0;i<n;i++){
arr[i] = in.nextInt();
}
dfs(0,m,arr,0L,visited);
System.out.println(max);
}
public static void dfs(int index,int m,int[] arr,long sum,int[] visited){
if(sum>=m){
sum %=m;
}
if(sum>max){
max = sum;
}
if(index==arr.length){
return;
}
for(int i = index;i<arr.length;i++){
visited[i] = 1;
dfs(i+1,m,arr,sum+arr[i],visited);
visited[i] = 0;
}
}
}