#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; int main(){ int n,c; cin>>n>>c; vector P(n); rep(i,n) cin>>P[i]; sort(ALL(P)); reverse(ALL(P)); priority_queue q1,q2; rep(i,c){ int t,x; cin>>t>>x; if(t==1) q1.push(x); else q2.push(x); } int ans=0; rep(i,n){ if(q1.size()>0 && q2.size()>0){ if(max(P[i]-q1.top(),0)<=P[i]/100*(100-q2.top())){ ans+=max(P[i]-q1.top(),0); q1.pop(); } else{ ans+=P[i]/100*(100-q2.top()); q2.pop(); } } else if(q1.size()>0){ ans+=max(P[i]-q1.top(),0); q1.pop(); } else if(q2.size()>0){ ans+=P[i]/100*(100-q2.top()); q2.pop(); } else ans+=P[i]; } cout<