- #include <bits/stdc++.h> 
-   
- #define ll long long 
- #define el cout << '\n' 
-   
- using namespace std; 
-   
- struct Query 
- { 
-     int id, x, mobius;   
- }; 
-   
- const int maxn = 1e6; 
- const int maxx = 1e6; 
-   
- int n, q, a[maxn + 10], cnt[maxx + 10], ans[maxn + 10]; 
- vector<Query> v[maxn + 10]; 
-   
- int main() 
- { 
-     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); 
-     if (fopen("CNTX.INP", "r")) 
-     { 
-         freopen("CNTX.INP", "r", stdin); 
-         freopen("CNTX.OUT", "w", stdout); 
-     } 
-   
-     cin >> n; 
-     for (int i = 1; i <= n; i++) 
-         cin >> a[i]; 
-     cin >> q; 
-     for (int i = 1; i <= q; i++) 
-     { 
-         int l, r, x; 
-         cin >> l >> r >> x; 
-         v[l - 1].push_back({i, x, -1}); 
-         v[r].push_back({i, x, 1}); 
-     } 
-     for (int i = 1; i <= n; i++) 
-     { 
-         cnt[a[i]]++; 
-         for (Query x : v[i]) 
-             ans[x.id] += cnt[x.x] * x.mobius; 
-     } 
-     for (int i = 1; i <= q; i++) 
-         cout << ans[i], el; 
- } 
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBRdWVyeQp7CiAgICBpbnQgaWQsIHgsIG1vYml1czsgIAp9OwoKY29uc3QgaW50IG1heG4gPSAxZTY7CmNvbnN0IGludCBtYXh4ID0gMWU2OwoKaW50IG4sIHEsIGFbbWF4biArIDEwXSwgY250W21heHggKyAxMF0sIGFuc1ttYXhuICsgMTBdOwp2ZWN0b3I8UXVlcnk+IHZbbWF4biArIDEwXTsKCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBpZiAoZm9wZW4oIkNOVFguSU5QIiwgInIiKSkKICAgIHsKICAgICAgICBmcmVvcGVuKCJDTlRYLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIkNOVFguT1VUIiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIGNpbiA+PiBuOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIGNpbiA+PiBhW2ldOwogICAgY2luID4+IHE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBxOyBpKyspCiAgICB7CiAgICAgICAgaW50IGwsIHIsIHg7CiAgICAgICAgY2luID4+IGwgPj4gciA+PiB4OwogICAgICAgIHZbbCAtIDFdLnB1c2hfYmFjayh7aSwgeCwgLTF9KTsKICAgICAgICB2W3JdLnB1c2hfYmFjayh7aSwgeCwgMX0pOwogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGNudFthW2ldXSsrOwogICAgICAgIGZvciAoUXVlcnkgeCA6IHZbaV0pCiAgICAgICAgICAgIGFuc1t4LmlkXSArPSBjbnRbeC54XSAqIHgubW9iaXVzOwogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gcTsgaSsrKQogICAgICAgIGNvdXQgPDwgYW5zW2ldLCBlbDsKfQ==