import java.util.*;
import java.io.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
NavigableMap<Integer, Integer> algorithm = new TreeMap<>();
for (int i = 0; i < n; i++) {
String log = br.readLine();
String[] index = log.split(" ");
String number = log.startsWith("undo") ? index[2] : index[1];
for (String part : number.split(",")) {
int L = part.contains("-") ? Integer.parseInt(part.split("-")[0]) :
Integer.parseInt(part);
int R = part.contains("-") ? Integer.parseInt(part.split("-")[1]) :
Integer.parseInt(part);
if (!log.startsWith("undo")) {
Map.Entry<Integer, Integer> leftEntry = algorithm.floorEntry(L);
if (leftEntry != null && leftEntry.getValue() >= L - 1) {
L = leftEntry.getKey();
R = Math.max(leftEntry.getValue(), R);
algorithm.remove(leftEntry.getKey());
}
Map.Entry<Integer, Integer> rightEntry = algorithm.ceilingEntry(L);
while (rightEntry != null && rightEntry.getKey() <= R + 1) {
R = Math.max(rightEntry.getValue(), R);
algorithm.remove(rightEntry.getKey());
rightEntry = algorithm.ceilingEntry(L);
}
algorithm.put(L, R);
} else{
Map<Integer,Integer> remove = new HashMap<>();
Map.Entry<Integer, Integer> leftEntry = algorithm.floorEntry(L);
if(leftEntry != null && leftEntry.getValue() >= L){
remove.put(leftEntry.getKey(),leftEntry.getValue());
algorithm.remove(leftEntry.getKey());
}
Map.Entry<Integer, Integer> rightEntry = algorithm.ceilingEntry(L);
while(rightEntry != null && rightEntry.getKey() <= R){
remove.put(rightEntry.getKey(),rightEntry.getValue());
algorithm.remove(rightEntry.getKey());
rightEntry = algorithm.ceilingEntry(L);
}
for(Map.Entry<Integer,Integer> r : remove.entrySet()){
if(r.getKey()<L){
algorithm.put(r.getKey(),L-1);
}
if(r.getValue()>R){
algorithm.put(R+1, r.getValue());
}
}
}
}
}
boolean first = true;
StringBuilder sb = new StringBuilder();
for(NavigableMap.Entry<Integer, Integer> a: algorithm.entrySet()){
if(!first){
sb.append(",");
}
first=false;
if(!a.getKey().equals(a.getValue())){
sb.append(a.getKey()).append("-").append(a.getValue());
}else{
sb.append(a.getKey());
}
}
System.out.print(sb.toString());
}
}