#include <bits/stdc++.h>
using namespace std;
const int MAXN = 102;
long long dp[12][MAXN][MAXN];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  int n, q, c;
  cin >> n >> q >> c;
  for (int i = 0; i < n; i++) {
    int x, y, s;
    cin >> x >> y >> s;
    for (int j = 0; j <= c; j++) {
      dp[j][x][y] += (s + j) % (c + 1);
    }
  }
  for (int i = 1; i < MAXN; i++) {
    for (int j = 1; j < MAXN; j++) {
      for (int k = 0; k <= c; k++) {
        dp[k][i][j] = dp[k][i - 1][j] + dp[k][i][j - 1] - dp[k][i - 1][j - 1] +
                      dp[k][i][j];
      }
    }
  }
  for (int i = 0; i < q; i++) {
    long long t, x1, x2, y1, y2;
    cin >> t >> x1 >> y1 >> x2 >> y2;
    t %= (c + 1);
    long long ans1 = dp[t][x2][y2] - dp[t][x1 - 1][y2] - dp[t][x2][y1 - 1] +
                     dp[t][x1 - 1][y1 - 1];
    cout << ans1 << endl;
  }
  return 0;
}
