func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<long long> bitr;   void update(long long ind, long long val, long long n) {     long long i = ind + 1;     while (i <= n) {       bitr[i] += val;       i += i & (-i);     }   }   long long sum(long long ind) {     long long i = ind + 1;     long long ans = 0;     while (i > 0) {       ans += bitr[i];       i -= i & (-i);     }     return ans;   }   int main() {     long long n, q, i;     cin >> n >> q;     long long arr[n];     bitr.push_back(0);     for (i = 0; i < n; i++) {       cin >> arr[i];       bitr.push_back(0);     }     sort(arr, arr + n);     for (i = 0; i < q; i++) {       long long l, r;       cin >> l >> r;       l--;       r--;       update(l, 1, n);       update(r + 1, -1, n);     }     long long fact[n];     for (i = 0; i < n; i++) fact[i] = sum(i);     sort(fact, fact + n);     long long res = 0;     for (i = 0; i < n; i++) {       res += (fact[i] * arr[i]);     }     cout << res << endl;     return 0;   }   