#include <bits/stdc++.h>
using namespace std;
set <int> f;
int a,hash[1000005],w,c;
unsigned long long wsum,csum;
int main()
{
do
{
cin >> a;
switch(a)
{
case 1:
cin >> w >> c;
hash[c] = w;
f.insert(c);
wsum += w;
csum += c;
break;
case 2:
if (!f.empty())
{
int t = *f.rbegin();
wsum -= hash[t];
csum -= t;
hash[t] = 0;
f.erase(--f.end());
}
break;
case 3:
if (!f.empty())
{
int t = *f.begin();
wsum -= hash[t];
csum -= t;
hash[t] = 0;
f.erase(f.begin());
}
break;
}
}while(a != -1);
cout << wsum << ' ' << csum;
return 0;
}
``` ```