#include <bits/stdc++.h>
#define FNAME ""
using namespace std;
typedef long long ll;
const int MAXN = 1e6 + 1;
void fastip() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(FNAME".inp", "r")) {
freopen(FNAME".inp", "r", stdin);
freopen(FNAME".out", "w", stdout);
}
}
int n, q;
vector<long long> a(MAXN, 0);
vector<long long> Prefix(MAXN, 0);
vector<long long> Total_prefix(MAXN, 0);
signed main(){
fastip();
cin >> n >> q;
for(int i = 1; i <= n ; i++){
cin >> a[i];
}
Prefix[1] = a[1];
for(int i = 2; i <= n ; i++){
Prefix[i] = Prefix[i - 1] + a[i];
}
for(int i = 1; i <= n ; i++){
Total_prefix[i] = Total_prefix[i - 1] + (1ll * a[i] * Prefix[i]);
}
while(q--){
int u, v;
cin >> u >> v;
cout << Prefix[v] * (Prefix[v - 1] - Prefix[u - 1]) - (Total_prefix[v - 1] - Total_prefix[u - 1]) << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk5BTUUgIiIKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CmNvbnN0IGludCBNQVhOID0gMWU2ICsgMTsKCnZvaWQgZmFzdGlwKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaWYgKGZvcGVuKEZOQU1FIi5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3BlbihGTkFNRSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihGTkFNRSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQp9CgppbnQgbiwgcTsKdmVjdG9yPGxvbmcgbG9uZz4gYShNQVhOLCAwKTsKdmVjdG9yPGxvbmcgbG9uZz4gUHJlZml4KE1BWE4sIDApOwp2ZWN0b3I8bG9uZyBsb25nPiBUb3RhbF9wcmVmaXgoTUFYTiwgMCk7CgpzaWduZWQgbWFpbigpewogICAgZmFzdGlwKCk7CgogICAgY2luID4+IG4gPj4gcTsKCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG4gOyBpKyspewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQoKICAgIFByZWZpeFsxXSA9IGFbMV07CiAgICAKICAgIGZvcihpbnQgaSA9IDI7IGkgPD0gbiA7IGkrKyl7CiAgICAgICAgUHJlZml4W2ldID0gUHJlZml4W2kgLSAxXSArIGFbaV07CiAgICB9CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuIDsgaSsrKXsKICAgICAgICBUb3RhbF9wcmVmaXhbaV0gPSBUb3RhbF9wcmVmaXhbaSAtIDFdICsgKDFsbCAqIGFbaV0gKiBQcmVmaXhbaV0pOwogICAgfQoKICAgIHdoaWxlKHEtLSl7CiAgICAgICAgaW50IHUsIHY7CiAgICAgICAgY2luID4+IHUgPj4gdjsKICAgICAgICBjb3V0IDw8IFByZWZpeFt2XSAqIChQcmVmaXhbdiAtIDFdIC0gUHJlZml4W3UgLSAxXSkgLSAoVG90YWxfcHJlZml4W3YgLSAxXSAtIFRvdGFsX3ByZWZpeFt1IC0gMV0pIDw8ICdcbic7IAogICAgfQoKICAgIHJldHVybiAwOwp9Cg==