#include<bits/stdc++.h>
using namespace std;
typedef struct Node{
int health;
int attack;
};
void init(vector<Node> & v)
{
Node n1;
n1.attack = 0;
n1.health = 30;
v.push_back(n1); //把英雄装进vector
n1.attack = 0, n1.health = 0; //把所有的位置填满
for(int i = 0; i < 7; i++){
v.push_back(n1);
}
return ;
}
void Insert(vector<Node> &v, int p, int a, int h)
{
if(v[p].health == 0){
v[p].health = h;
v[p].attack = a;
}
else{
for(int i = 7; i > p; i--){
v[i].health = v[i-1].health;
v[i].attack = v[i-1].attack;
}
v[p].health = h;
v[p].attack = a;
}
}
void Attack(vector<Node> &v1, vector<Node> &v2, int a, int d)
{
v1[a].health = v1[a].health - v2[d].attack;
v2[d].health = v2[d].health - v1[a].attack;
if(d == 0){
return ;
}
if(v1[a].health <= 0){
for(int i = a; i < 7; i++){
v1[i].health = v1[i+1].health;
v1[i].attack = v1[i+1].attack;
}
v1[7].health = 0, v1[7].attack = 0;
}
if(v2[d].health <= 0){
for(int i = d; i < 7; i++){
v2[i].health = v2[i+1].health;
v2[i].attack = v2[i+1].attack;
}
v2[7].health = 0, v2[7].attack = 0;
}
}
int main()
{
vector<Node> act1;
vector<Node> act2;
init(act1);
init(act2);
int n;
cin >> n;
bool flag = true;
for(int i = 0; i < n; i++){
string s1;
cin >> s1;
if(s1 == "summon"){
int p, a, h;
cin >> p >> a >> h;
if(flag)
Insert(act1, p, a, h);
else
Insert(act2, p, a, h);
}
else if(s1 == "attack"){
int a, d;
cin >> a >> d;
if(flag)
Attack(act1, act2, a, d);
else
Attack(act2, act1, a, d);
}
else {
if(flag) flag = false;
else flag = true;
}
}
if(act1[0].health <= 0 && act2[0].health > 0)
cout << -1 << endl;
else if(act2[0].health <= 0 && act1[0].health > 0)
cout << 1 << endl;
else
cout << 0 << endl;
cout << act1[0].health << endl;
int ans1 = 0;
for(int i = 1; i <= 7; i++){
if(act1[i].health > 0)
ans1++;
}
cout << ans1;
for(int i = 1; i <= 7; i++){
if(act1[i].health > 0)
cout << " " << act1[i].health;
}
cout << endl;
cout << act2[0].health << endl;
int ans2 = 0;
for(int i = 1; i <= 7; i++){
if(act2[i].health > 0)
ans2++;
}
cout << ans2;
for(int i = 1; i <= 7; i++){
if(act2[i].health > 0)
cout << " " << act2[i].health;
}
cout << endl;
return 0;
}