보물 분배

아직 제출이 없습니다시간 제한10초메모리 제한1024 MB

문제

도둑 Anna와 Bruno가 대부호의 저택에 숨어들어 보물 1번부터 보물 NN번까지 NN개를 찾아냈다. 두 사람은 이 보물을 나누어 가지기로 했다. 먼저 Anna가 보물 중 몇 개를 가져가고, 남은 보물 중 몇 개를 Bruno가 가져간다. 같은 보물을 두 사람이 함께 가질 수는 없다. Anna와 Bruno는 보물을 하나도 가져가지 않아도 된다. 가져가지 않은 보물은 저택에 그대로 두므로, 두 사람 모두 손대지 않는 보물이 있어도 된다.

보물마다 시장 가치와 귀중도라는 두 값이 정해져 있다. Anna가 가져간 보물의 시장 가치 합과 Bruno가 가져간 보물의 시장 가치 합의 차이의 절댓값이 DD 이하이면, Anna는 공평하다고 여기고 만족한다. 한편 Bruno는 Anna보다 귀중도가 큰 보물을 원한다.

Anna가 만족하도록 보물을 나누었을 때, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값의 최댓값을 구하여라.

입력

입력은 1+N1 + N개의 줄로 이루어진다.

첫째 줄에는 두 정수 NNDD가 공백을 사이에 두고 주어진다 (1N301 \le N \le 30, 0D10150 \le D \le 10^{15}). 보물의 개수가 NN개이고, Anna가 가져간 보물의 시장 가치 합과 Bruno가 가져간 보물의 시장 가치 합의 차이의 절댓값이 DD 이하이면 Anna가 만족한다는 뜻이다.

이어지는 NN개의 줄 중 ii번째 줄 (1iN1 \le i \le N)에는 두 정수 XiX_iYiY_i가 공백을 사이에 두고 주어진다 (0Xi10150 \le X_i \le 10^{15}, 0Yi10150 \le Y_i \le 10^{15}). 보물 ii의 시장 가치가 XiX_i이고 귀중도가 YiY_i라는 뜻이다.

출력

Anna가 만족하도록 보물을 나누었을 때, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값의 최댓값을 한 줄에 출력한다.

힌트

첫 번째 예제에서 Anna가 보물 2, 보물 3, 보물 5를 가져가고 Bruno가 보물 1과 보물 6을 가져가면, 시장 가치 합은 Anna가 130, Bruno가 120이다. 차이의 절댓값 10이 D=15D = 15 이하이므로 Anna는 만족한다. 이때 귀중도 합은 Anna가 400, Bruno가 1600이므로, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값은 1200이다. 이 값이 최댓값이다.