func_code_string: #include <bits/stdc++.h>   int a[100001], b[100000], map[100000], c[634][100001];   int main() {     int n, q;     std::cin >> n >> q;     for (int i = 1; i <= n; ++i) std::cin >> a[i];     memcpy(b, &a[1], sizeof(b));     std::stable_sort(b, b + n);     int N = 0, i = 0;     while (i < n) {       int r = std::upper_bound(b, b + n, b[i]) - b;       if (r - i >= b[i]) map[N++] = b[i];       i = r;     }     for (int i = 0; i < N; ++i)       for (int j = 1; j <= n; ++j) c[i][j] = c[i][j - 1] + (a[j] == map[i]);     while (q--) {       int l, r, count = 0;       std::cin >> l >> r;       for (int i = 0; i < N; ++i) count += map[i] == c[i][r] - c[i][l - 1];       std::cout << count <<   n ;     }     return 0;   }   