#include <bits/stdc++.h>
long long dp[105][105][15];
using namespace std;
int main() {
  long long n, q, c;
  while (cin >> n >> q >> c) {
    memset(dp, 0, sizeof(dp));
    for (int i = 0; i < n; i++) {
      long long x, y, s;
      cin >> x >> y >> s;
      dp[y][x][s]++;
    }
    for (int i = 0; i < 105; i++) {
      for (int j = 0; j < 105; j++) {
        for (int k = 0; k <= 10; k++) {
          if (i > 0) dp[i][j][k] += dp[i - 1][j][k];
          if (j > 0) dp[i][j][k] += dp[i][j - 1][k];
          if (i > 0 && j > 0) dp[i][j][k] -= dp[i - 1][j - 1][k];
        }
      }
    }
    while (q--) {
      long long t, x1, y1, x2, y2;
      cin >> t >> x1 >> y1 >> x2 >> y2;
      t %= (c + 1);
      long long ans = 0;
      for (int i = 0; i <= c; i++) {
        int fx = (i + t) % (c + 1);
        ans += (dp[y2][x2][i] - dp[y2][x1 - 1][i] - dp[y1 - 1][x2][i] +
                dp[y1 - 1][x1 - 1][i]) *
               (fx);
      }
      cout << ans << endl;
    }
  }
}
