#include using namespace std; using ll = long long; using vll = vector; using pll = pair; #define sz(x) ((ll)(x).size()) #define vec vector #define For(i, a, n) for(ll i = a; i < (ll)(n); i++) const int monitor=1; const int desk=0; const ll MOD = 1e9+7; template ostream& operator<<(ostream &os, const vector &cont) { for (auto it = cont.begin(); it != cont.end(); ++it) os << (it == cont.begin() ? "" : " ") << *it; return os; } template ostream& operator<<(ostream &os, const pair &cont) { os << "(" << cont.first << ", " << cont.second << ")"; return os; } vec> values; vec> dokopy; vec> g; int n, m, q; vec> vs; const int velky = 333; vec velke; void update(int v, int typ, int kolko){ values[v][typ]+=kolko; dokopy[v][typ]+=kolko; if(velke[v])return; for(auto s : vs[v]){ dokopy[s][typ]+=kolko; } } void check(int v){ if(velke[v]){ ll mon= dokopy[v][monitor], des=dokopy[v][desk]; for(auto s:vs[v]){ mon+= values[s][monitor];des+=values[s][desk]; } if(mon>des)cout<<"monitors\n"; if(mondes)cout<<"monitors\n"; if(mon>n>>m>>q; // n = 350;m=n*n;q=1e5; values.resize(n, vec(2)); dokopy.resize(n, vec(2)); For(i, 0, n)cin>>values[i][desk]; For(i, 0, n)cin>>values[i][monitor]; g.resize(n); For(i, 0, m){ int a, b;cin>>a>>b;--a,--b; g[a].push_back(b); g[b].push_back(a); } velke.resize(n); For(i, 0, n){ if(g[i].size()>velky){ velke[i]=true; } } vs.resize(n); For(i, 0, n){ for(auto s: g[i]){ if(velke[s]){ vs[i].push_back(s); } } } For(i, 0, q){ string t;cin>>t; if(t[0]=='c'){ //check int v;cin>>v;--v; check(v); } else{ int k;cin>>k; string p;cin>>p; int v;cin>>v;v--; if(p[0]=='m'){ update(v, monitor, k); } else{ update(v, desk, k); } } } }