Code Formula 2014 本選

C - 次世代SNS


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 64MB

問題文

あなたは、とあるSNSを作ろうとしています。

このSNSでは、@usernameという形式で、特定のユーザーにメッセージを送ることが可能であり、1 つの発言に複数のユーザーを指定することで、複数のユーザーに同時にメッセージを送ることが可能になります。

このSNSは、以下のようなルールに従っています。

  • 書き込まれるメッセージは、半角小文字アルファベット、半角スペース、@のみを含む。
  • 書き込まれたメッセージに@が含まれていた場合、@直後の、アルファベットのみで構成される文字列のうち、最も長い文字列をユーザー名として扱い、そのユーザーにメッセージを届ける。
  • @の直後がアルファベットでなかった場合は無視する。
  • 複数回同じユーザーが指定されても、メッセージは 1 回届ければ良い。

あなたは、このシステムを実装するために、書き込まれたメッセージに対し、メッセージを届けるべきユーザーを列挙するプログラムを作りたいです。

メッセージを送るべきユーザーを全て出力しなさい。なお、ユーザーが複数いる場合は、辞書順で出力しなさい。


入力

入力は以下の形式で標準入力から与えられる。

S
  • 1 行目には、書き込まれるメッセージを表す文字列 S(1≦|S|≦140) が与えられる。
  • 文字列 S には、小文字アルファベット、 @以外の文字は含まれない。

出力

メッセージを送るべきユーザーを、 1 行ずつ全て出力しなさい。なお、ユーザーが複数いる場合は、辞書順で出力しなさい。


入力例1

@codeformula why is this contest so easy

出力例1

codeformula

codeformulaさんへのメッセージです。半角スペースが挟まれているので、why以降をユーザー名として認識することはありません。

また、@を出力する必要はありません。


入力例2

myon @@c @a @aba@a @@bb bbb @@@@@ @a test  @ space  aaa test @a@a  test@takoyaki

出力例2

a
aba
bb
c
takoyaki

aが何度も指定されていますが、一度だけ出力する必要があります。

また、ユーザ名は辞書順で出力する必要があります。


入力例3

no atmark

出力例3



            

メッセージを送るべきユーザーがいない場合、何も出力しないで構いません。


Source name

Code Formula 2014 本戦

Submit提出する