#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 #define LINF 9000000000000000000 #define mod 1000000007 #define rep(i,n) for(int i=0;i=0;i--) #define REP(i,a,b) for(int i=(a);i vi; typedef pair pi; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int ddx[8]={-1,-1,0,1,1,1,0,-1}; int ddy[8]={0,1,1,1,0,-1,-1,-1}; bool debug=false; /*---------------------------------------------------*/ int n,p; int a[5005][4]; int dp[2][15005]; int main(){ cin>>n>>p; rep(i,n){ cin>>a[i][0]>>a[i][1]>>a[i][2]; a[i][3]=1; } rep(i,2)rep(j,15005)dp[i][j]=INF; dp[0][0]=0; rep(i,n){ rep(j,p+1){ rep(k,4){ if(j+k<=p)dp[1][j+k]=min(dp[0][j]+a[i][k],dp[1][j+k]); } } rep(j,p+1){ dp[0][j]=dp[1][j]; dp[1][j]=INF; } } //rep(i,p+1)cout<<"debug: "<