행 장치를 가장 싸게 설치해 모든 공이 하나의 맨 아래 칸에 떨어지게 합니다.
보통7동적 계획법세그먼트 트리아직 제출이 없습니다시간 제한1초메모리 제한512 MB상수는 핀볼 게임을 좋아한다. 핀볼의 규칙은 다음과 같다.
핀볼의 놀이판은 M+2행 N열의 정사각형 격자판이다. 첫 번째 행은 판의 꼭대기이고, M+2번째 행은 바닥이다. i번째 행의 j번째 열에 있는 칸을 (i,j)로 나타낸다.
공은 첫 번째 행의 칸 하나에 나타나서 바닥을 향해 수직으로 떨어진다. 즉 (1,i) (1≤i≤N)에 나타난 공은 (j,i) (2≤j≤M+1)를 차례로 지나 바닥의 (M+2,i)에 도착한다. 상수는 공을 되받아 치면 점수를 얻는다.
공이 바닥의 어느 칸에나 도착할 수 있어서 되받아 치기가 어렵다. 그래서 상수는 아래에 설명한 장치를 놀이판에 알맞게 설치해서, 공이 도달할 수 있는 바닥 칸이 하나만 남도록 하려고 한다.
장치는 1번부터 M번까지 M개가 있고, 각 장치는 놀이판의 행과 나란하다. i번 (1≤i≤M) 장치는 (i+1,Ai)부터 (i+1,Bi)까지의 칸에 놓여 있으므로 Bi−Ai+1개의 칸을 덮는다. 공이 이 장치가 덮은 칸에 닿으면 공은 (i+1,Ci)로 옮겨진다. 그 뒤 공은 Ci번 열을 따라 다시 수직으로 떨어진다. 한 장치가 같은 공과 두 번 이상 상호작용하는 일은 없다.
i번 장치를 설치하려면 Di원을 내야 한다. 상수는 M개의 장치 중 일부를 골라 설치해서 공이 도달할 수 있는 바닥 칸이 하나만 남게 하고, 그 총비용을 최소로 하려고 한다.

위 그림은 M=2, N=4인 놀이판의 예이다. 공이 꼭대기의 (1,2)에 나타나면 (2,2)로 내려간 뒤 1번 장치에 의해 (2,3)으로 옮겨지고, 마침내 바닥의 (4,3)에 도착한다.
놀이판의 크기와 장치 정보가 주어질 때, 공이 도달할 수 있는 바닥 칸이 하나만 남도록 장치를 설치하는 최소 비용을 구하는 프로그램을 작성하시오.
표준 입력으로 다음 데이터를 받는다.
첫째 줄에 두 정수 M과 N이 공백을 사이에 두고 주어진다. 놀이판은 M+2행 N열이고, 장치의 수는 M개다.
다음 M개 줄 중 i번째 줄 (1≤i≤M)에는 네 정수 Ai, Bi, Ci, Di가 공백을 사이에 두고 주어진다. i번 장치는 (i+1,Ai)부터 (i+1,Bi)까지 Bi−Ai+1개의 칸에 놓여 있고, 자신이 덮은 칸에 도달한 공을 (i+1,Ci)로 옮긴다. 이 장치의 설치 비용은 Di원이다.
첫째 줄에 공이 도달할 수 있는 바닥 칸이 하나만 남도록 장치를 설치하는 최소 비용을 출력한다. 그렇게 설치하는 방법이 없으면 −1을 출력한다.
첫 번째 예제의 놀이판과 장치 위치는 아래 그림과 같다. 장치 위에 적힌 수는 그 장치의 설치 비용이다.

다섯 장치 중 2번, 4번, 5번을 설치하면 놀이판은 아래와 같아진다.

이때 꼭대기의 어느 칸에 공이 나타나도 공은 바닥의 (7,3)에 도착한다. 세 장치의 설치 비용을 더하면 25원이다. 25원보다 적은 비용으로는 공이 도달할 수 있는 바닥 칸을 하나로 만들 수 없으므로 25를 출력한다.