#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ALL(c) (c).begin(),(c).end() #define IN(x,c) (find(c.begin(),c.end(),x) != (c).end()) #define REP(i,n) for (int i=0;i<(int)(n);i++) #define FOR(i,a,b) for (int i=(a);i<=(b);i++) #define INIT(a,v) memset(a,v,sizeof(a)) #define SORT_UNIQUE(c) (sort(c.begin(),c.end()), c.resize(distance(c.begin(),unique(c.begin(),c.end())))) template A cvt(B x) { stringstream ss; ss<>y; return y; } typedef pair PII; typedef vector VI; typedef long long int64; int main() { int n,m; scanf("%d %d",&n,&m); vector g,t; int a,b; REP (i,n) { scanf("%d",&a); g.push_back({a,i}); } sort(ALL(g)); REP (i,m) { scanf("%d %d",&a,&b); t.push_back({a,b,i}); } sort(ALL(t)); priority_queue,greater > pq; vector sol; int j=0; REP (i,n) { while (j