#include using namespace std; #include using namespace atcoder; using ll = long long; struct S { ll a; ll b; }; S op(S a, S b) { return S{a.a + b.a, a.b + b.b}; } S e() { return S{0, 0}; } int main () { int N, Q, L0; std::vector V(200020, e()); for (int i = 0; i < N; i ++) { int a; cin >> a; V[a].a ++; V[a].b += a; } bool nf = false; segtree sg(V); while (Q--) { int t; cin >> t; nf = nf || (t == 2); if (t == 1) { int a; cin >> a; V[a].a ++; V[a].b += a; sg.set(a, V[a]); } else if (t == 2) { int l, r; cin >> l >> r; auto [p, q] = sg.prod(l, r + 1); cout << p << " " << q << endl; } } if (nf) { puts("Not Found!"); } }