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;
        }
    }
}