import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//首先将输入的区间全部接收到集合里面
Scanner scan = new Scanner(System.in);
ArrayList<Interval> list = new ArrayList<>();
while(scan.hasNext()){
String string = scan.next();
String[] strings = string.split(",");
list.add(new Interval(Integer.parseInt(strings[0]),Integer.parseInt(strings[1])));
}
//将集合里面的区间进行合并
for(int i =0;i +1<list.size() ;i++){
Interval i1 = list.get(i);
Interval i2 = list.get(i+1);
if (merge(i1,i2,list)){
i = -1;
}
}
list.sort((o1, o2) -> o1.start-o2.start);
String str = "";
for(int i =0;i < list.size() ;i++){
str = str + list.get(i).toString() + " ";
}
System.out.println(str.trim());
scan.close();
}
private static boolean merge(Interval i1, Interval i2, ArrayList<Interval> list) {
//有交集就合并
if (i1.start <= i2.end && i1.end >= i2.start){
int start1 = i1.start< i2.start? i1.start : i2.start;
int end1 = i1.end > i2.end? i1.end : i2.end;
list.remove(i1);
list.remove(i2);
list.add(new Interval(start1,end1));
return true;
}else {
return false;
}
}
}
/**
* 区间类,表示区间的左右
*/
class Interval{
int start;
int end;
Interval(int start,int end){
this.start = start;
this.end = end;
}
@Override
public String toString() {
return this.start + "," + this.end;
}
}