struct Interval {
    int start;
    int end;
    Interval() : start(0), end(0) {}
    Interval(int s, int e) : start(s), end(e) {}
};
int main()
{
    vector <Interval> vec;
    Interval i;
    char c=' ';
    while (c!='\n')
    {
        scanf("%d,%d%c",&i.start,&i.end,&c);
        vec.push_back(i);
    }
    Solution sol;
    vec = sol.merge(vec);
    for (vector<Interval>::iterator i = vec.begin(); i != vec.end(); i++)
        cout << i->start << ','<<i->end<<' ';
    cout<<endl;
    system("pause");
    return 0;
}