#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 510;
int n, q;
int cst, be, fr;
int dp[N][N];
int main(){
scanf("%d%d", &n, &q);
for(int i = 1; i <= n; ++ i){
scanf("%d%d%d", &cst, &fr, &be);
for(int j = 500; j >= 0; -- j){
for(int k = 500; k >= 0; -- k){
if(j - cst >= 0 && k - fr > 0) dp[j][k] = max(dp[j][k], dp[j - cst][k - fr] + be);
else if(j - cst >= 0 && k - fr <= 0) dp[j][k] = max(dp[j][k], dp[j - cst][0] + be);
}
}
}
for(int i = 1; i <= q; ++ i){
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", dp[a][b]);
}
}