#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include int ri() { int n; scanf("%d", &n); return n; } /* TLE expected */ int main() { int n = ri(); int a[n]; for (auto &i : a) i = ri(); int q = ri(); for (int i = 0; i < q; i++) { int t = ri(); int l = ri() - 1; int r = ri(); if (t == 1) { int val = ri(); for (int j = l; j < r; j++) a[j] += val; } else { int64_t res = 0; for (int j = l; j < r; j++) res += (int64_t) a[j] * a[j]; printf("%" PRId64 "\n", res); } } return 0; }