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;
    }
}