Adottak városok, amelyekben repülőtér található. Adottak azok a városok is, amelyek repülővel elérhetőek a különböző városokból. Ha két város között van repülőforgalom, akkor mindkét irányba lehet utazni. Természetesen egy város önmagából mindig elérhető. Feladat: meghatározni, hogy valamely városból mely városok érhetőek el ezen utak mentén (akár több átszállással is). A városok nevének leírása legyen case-insensitive, azaz kis- és nagybetű különbségek ne számítsanak, tehát a Budapest, a BudaPest, a budapest, és a BUDAPEST is ugyanazt a várost jelentse.

Az input adatokat a standard input-ról kell beolvasni: az input első sorában megkapjuk azt a várost, ahonnan kiindulunk. Minden további sor annak a leírása, hogy egy városból milyen további városok érhetőek el. Pl. a

Riga: Tampere, Oslo
sor azt írja le, hogy Rigából repülhetünk Tamperébe valamint Osloba, de azt is jelenti, hogy Tamperéből Rigába és Osloból Rigába utazhatunk. Vesszővel választjuk el a városokat, szóközök lehetnek a városok nevében, illetve a vesszők előtt és után tetszőleges szóköz állhat. Az utolsó sor utáni eof jelzi, hogy nincs több adat.


Feladat: A standard output-ra kiírni az elérhető városok nevét.

Példa Input:
Budapest
Budapest: London, Helsinki, Tampere
Helsinki: Tampere, Riga, Tallinn
Riga: Tampere, Oslo
Oslo: London
Stockholm: Oslo
Tampere: Tallinn
Tallinn: London
Tokyo: Los Angeles, Kyoto
Los Angeles: Boston, New York, Chicago
    

Példa Output:
Budapest London Helsinki Tallinn Riga Tampere Oslo Stockholm
    

A feladat megoldásához csak a szabványos C++ eszközei használhatóak!

Beadási határidő: 2013. május 2.