問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
N 人組のロボットアイドルグループのマネージャーとなった paiza 君は、グループに所属しているアイドル全員の名前を把握しておく必要があります。アイドルグループにはメンバーの加入と脱退がつきものなので、そのたびにメンバーを覚えたり忘れたりする必要があります。
paiza 君は仕事として握手会の度にアイドル全員の名前を書き出します。
ロボットの名前はほとんどが乱数的に付けられたものなので覚えるのが大変です。
そこで、イベント(メンバーの加入・脱退と握手会)が与えられるので、それらに伴う paiza 君の仕事をおこなうプログラムを作成しましょう。
N K
name_1
...
name_N
S_1
...
S_K
・握手会の予定に応じて出力してください。
具体的には handshake が与えられる度、その時点でのグループの全メンバーの名前を辞書順に改行区切りで出力してください。
・また、出力の末尾には改行を入れてください。
・1 ≦ N , K ≦ 100,000
・name_i はアルファベット小文字(a ~ z)と数字(0 ~ 9)から成る 20 文字以下の文字列です。 (1 ≦ i ≦ N)
・S_i (1 ≦ i ≦ K) は次のいずれかの形式で与えられます。
・join name
name という名前のアイドルが加入することを表します。
name はアルファベット小文字(a ~ z)と数字(0 ~ 9)から成る 20 文字以下の文字列です。
・leave name
name という名前のアイドルが脱退することを表します。
name はアルファベット小文字(a ~ z)と数字(0 ~ 9)から成る 20 文字以下の文字列です。
脱退時に name という名前のアイドルがグループにいることが保証されています。
・handshake
握手会がおこなわれることを表します。
握手会時点でのグループの全メンバーの名前を辞書順に改行区切りで出力してください。
グループのメンバーが 0 人であるときには何も出力しないでください。
・アイドルグループに所属するメンバーの名前は重複しないことが保証されています。
・握手会がおこなわれるのは 10 回以下であることが保証されています。
2 7
nene
ao
handshake
leave nene
join neko
join koko
handshake
leave neko
handshake
ao
nene
ao
koko
neko
ao
koko
5 10
nene
nana
koko
sasa
kiki
handshake
leave nene
leave kiki
leave nana
leave koko
leave sasa
handshake
join riri
join vivi
handshake
kiki
koko
nana
nene
sasa
riri
vivi