AT_code_formula_2014_final_c 次世代SNS
Description
[problemUrl]: https://atcoder.jp/contests/code-formula-2014-final/tasks/code_formula_2014_final_c
あなたは、とあるSNSを作ろうとしています。
このSNSでは、`@username`という形式で、特定のユーザーにメッセージを送ることが可能であり、$ 1 $ つの発言に複数のユーザーを指定することで、複数のユーザーに同時にメッセージを送ることが可能になります。
このSNSは、以下のようなルールに従っています。
- 書き込まれるメッセージは、半角小文字アルファベット、半角スペース、`@`のみを含む。
- 書き込まれたメッセージに`@`が含まれていた場合、`@`直後の、アルファベットのみで構成される文字列のうち、最も長い文字列をユーザー名として扱い、そのユーザーにメッセージを届ける。
- `@`の直後がアルファベットでなかった場合は無視する。
- 複数回同じユーザーが指定されても、メッセージは $ 1 $ 回届ければ良い。
あなたは、このシステムを実装するために、書き込まれたメッセージに対し、メッセージを届けるべきユーザーを列挙するプログラムを作りたいです。
メッセージを送るべきユーザーを全て出力しなさい。なお、ユーザーが複数いる場合は、辞書順で出力しなさい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $
- $ 1 $ 行目には、書き込まれるメッセージを表す文字列 $ S(1≦|S|≦140) $ が与えられる。
- 文字列 $ S $ には、小文字アルファベット、` `、`@`以外の文字は含まれない。
Output Format
メッセージを送るべきユーザーを、 $ 1 $ 行ずつ全て出力しなさい。なお、ユーザーが複数いる場合は、辞書順で出力しなさい。
Explanation/Hint
### Sample Explanation 1
`codeformula`さんへのメッセージです。半角スペースが挟まれているので、`why`以降をユーザー名として認識することはありません。 また、`@`を出力する必要はありません。
### Sample Explanation 2
`a`が何度も指定されていますが、一度だけ出力する必要があります。 また、ユーザ名は辞書順で出力する必要があります。
### Sample Explanation 3
メッセージを送るべきユーザーがいない場合、何も出力しないで構いません。