Problem Statement
Cat Taro has a string S. He wants to obtain the string "CAT" from the string S. In a single turn he can choose any character and erase all occurrences of this character in S. He can do as many turns as he wants (possibly zero).
You are given the
Definition
- Class:
- TaroString
- Method:
- getAnswer
- Parameters:
- String
- Returns:
- String
- Method signature:
- String getAnswer(String S)
- (be sure your method is public)
Constraints
- S will contain between 1 and 50 characters, inclusive.
- S will contain only uppercase English letters ('A'-'Z').
Examples
"XCYAZTX"
Returns: "Possible"
It is possible to obtain string "CAT" in three turns, as follows: Erase all characters 'X' (and obtain the string "CYAZT") Erase all characters 'Y' (and obtain the string "CAZT") Erase all characters 'Z' (and obtain the string "CAT")
"CTA"
Returns: "Impossible"
"ACBBAT"
Returns: "Impossible"
Note that whenever you are erasing a character, you must erase all its occurrences. In this case, it is not possible to erase the first 'A' and keep the second one.
"SGHDJHFIOPUFUHCHIOJBHAUINUIT"
Returns: "Possible"
"CCCATT"
Returns: "Impossible"
"HQGHUMEAYLNLFDXFIRCVSCXGGBWKFNQDUXWFNFOZVS"
Returns: "Impossible"
"TKJPREPGGXRPNRVYSTMWCYSYYCQPEVIKEF"
Returns: "Impossible"
"MZNIMKKASVWSRENZKYCXFXTLSGYPSFADPOOEFXZBCOEJ"
Returns: "Impossible"
"VPVABOYGPOEYLFPBNPLJVRVIPYAMYEHWQNQRQ"
Returns: "Impossible"
"MXUJJLOOVA"
Returns: "Impossible"
"WUXWHMSNCBXCOKSFZKVATXDKN"
Returns: "Impossible"
"YJYHFIXJSWNKKU"
Returns: "Impossible"
"ATCACCACAT"
Returns: "Impossible"
"CCCCTTTTTAACCAATTATTTCAACTCTCCTATTTACCCTCTCATTCAT"
Returns: "Impossible"
"TTTCATCCCCAAATAAACCATTCTTT"
Returns: "Impossible"
"ACTATAATACACTCAAAAAACAATCATATA"
Returns: "Impossible"
"CCATAT"
Returns: "Impossible"
"XLHSMPXOHGMGNKEUFDXOOGABGXTPEYNFEUKEPZSHKCLJUGG"
Returns: "Impossible"
"ADTCQZJENPEVQGXIEPJSRDZJZUJLLHHBFQMKIMWZOBIWYBX"
Returns: "Impossible"
"FSKSRSTREKMQDCYZAJ"
Returns: "Impossible"
"MSRQOZIJIPFIOATCNEED"
Returns: "Impossible"
"RNVYMMBDZQSOEMTUVNPPCPASUBZUXMHEHLEGRPUNKDMB"
Returns: "Impossible"
"QGJOPRMOWZDQYOXYJBBCHWADYDPRJBXPHOOHPKWQYUHRQZHNTB"
Returns: "Possible"
"QNQQLRZJPXICOGVLIETXDZUZOSRKRUSVAOJBRZMWZPOWKJILEF"
Returns: "Impossible"
"DIGPNPUUHGXPQNJWJAMWXXMNSNHTHLQQCRZUDLFZOJNZXUGLSD"
Returns: "Impossible"
"NOKCVFJFRMXOHAOWKBJZWUTWLJFRIMPMYHHZRIWKBRXBGFBEYH"
Returns: "Possible"
"XTCWBVREHBBPXIFBXVFBGAKFQKOZGKUBMJRMBSZSSHFROEFWSJ"
Returns: "Impossible"
"GUZYTUPZWWEIQURCPIXIQFLDUUVEOOWQUDHNEAFNJHIMUZFSKU"
Returns: "Impossible"
"URISWBREUTYKBFVAKDZEZOIDUKUHJZCEFZZZBFKQDPQZIKFOBU"
Returns: "Impossible"
"HXDJGKJELRLPXMEROSWIDPPLIFKELCJYIHARQYBNEFXNXVGZTE"
Returns: "Possible"
"NGYDRUDMPHMEKORWCOSPOFGHFAOZQVLQFXWWKMFXDYYGMTDSZS"
Returns: "Possible"
"ODKJGHWMBMXRMHUYFYQGJQKKLTZNYXQKQOYZWMYCAUBZZPKHKK"
Returns: "Impossible"
"CAVT"
Returns: "Possible"
"CURAFMBISGEKTYRGZ"
Returns: "Possible"
"CPOAMTVFY"
Returns: "Possible"
"SVKHQDIHERCSIGABHZJZUJXMMYSPNTREWKEG"
Returns: "Possible"
"HHRJVBJSCQDAJOOGPTKNFPF"
Returns: "Possible"
"ICEOWQARWWWPZSQMEOTGEPSPXNVJIUPLYYNMKMNUVKLH"
Returns: "Possible"
"WRGFMCZKGIPDFODKJAMJQWIQPUOTQHIMVFVUZWYVIJGFUL"
Returns: "Possible"
"UHSJFBLKMFQRMYJFJNHCHSSQYDAEMTDJB"
Returns: "Possible"
"NCEAGYIWTX"
Returns: "Possible"
"CLGATR"
Returns: "Possible"
"ERWVCJSJATB"
Returns: "Possible"
"JLCWHAYPTNVRUIHOSWKIFYGYDHW"
Returns: "Possible"
"EWZMGONZLJHGCUHNIHREQGAJFWKJSMPJHEFTQ"
Returns: "Possible"
"LDCRHJDATYR"
Returns: "Possible"
"IVUYEEGFICVDRYGURQDREADKUBNFGUTPRO"
Returns: "Possible"
"BWQXKZMUSJGMHMHGDNMPHNQKMHUCRKRFAFTLVGRZKKLDLLEOJO"
Returns: "Possible"
"RQYJZGINRNNCZWXXEDRWUADXZRFUSEWJBOXTVYNFHKSENUMNDD"
Returns: "Possible"
"VZUDKCXYDZSXOBABGQNGVVPJTGOJOGLMKXGBFPYPKQHBDDZWRX"
Returns: "Possible"
"RLXVOBWHXGINFGFRLMZNMJUGWCWBSQFAIHUBSJOLLMSQSGHMPT"
Returns: "Possible"
"OFLBGSFNPUZSCRUPHYNVZHPQUAGRIWNIQXDTFJPWPXFBLKPNPE"
Returns: "Possible"
"CMKUQPZOMWNLMBUPMKLPNDMPDSAYDSGVFPENEMWBORIFSUQHET"
Returns: "Possible"
"HSSMVNONWFXWHCAGBIBBVQOPQFOVIUSSQFQWEHXDZUTJLNXMRJ"
Returns: "Possible"
"LGGKYBIOLYDNILQDOJCSKKVFXAHHJMBOLJRINDWLDVDTXROPBY"
Returns: "Possible"
"YOJUOHWMLVRGLFCZDZDBUBXUOFFVNRASWSZNMOIJOIVVGOBQPT"
Returns: "Possible"
"VNHCKEBMDHVYGKJIASUXHMUUTDQBHMKNHFXXQXKJLZZQSJFEED"
Returns: "Possible"
"KOLXJOQKDVFEPVLCHVHRWFDUKXFFJPSSWYXLIAJJHEVRTYXOZB"
Returns: "Possible"
"MOWGRGONUDCQLHYGGYLJADTDJHMLEDZLODSRKEUGNKNRJKPXIN"
Returns: "Possible"
"DHUNWOOXVJJCMPSVKNHKWJOPMMLEBKSUVZQALYTQNWMBVBHRML"
Returns: "Possible"
"BWYVWGOQNMIXCPZARKNNXUUFRZROSDQWSMJGHEQUDTOSRJXYYK"
Returns: "Possible"
"RXUWJXNPQJNBKPDMOKLXPCEMVBQLZSVXZKUPPWGZPDPYZAKTZV"
Returns: "Possible"
"CATT"
Returns: "Impossible"
"TAC"
Returns: "Impossible"
"CCAT"
Returns: "Impossible"
"ACT"
Returns: "Impossible"
"C"
Returns: "Impossible"
"HIHI"
Returns: "Impossible"
"CATTTTT"
Returns: "Impossible"
"CCCAAT"
Returns: "Impossible"
"AT"
Returns: "Impossible"
"BAAT"
Returns: "Impossible"
"ACRT"
Returns: "Impossible"
"CAT"
Returns: "Possible"
"CCCAT"
Returns: "Impossible"
"CATTT"
Returns: "Impossible"
"CATCAT"
Returns: "Impossible"
"BGF"
Returns: "Impossible"
"B"
Returns: "Impossible"
"XXXX"
Returns: "Impossible"
"CATAT"
Returns: "Impossible"
"ACAT"
Returns: "Impossible"
"LOL"
Returns: "Impossible"
"XYZ"
Returns: "Impossible"
"CATTTT"
Returns: "Impossible"
"CATA"
Returns: "Impossible"
"CCAATT"
Returns: "Impossible"
"WAT"
Returns: "Impossible"
"WE"
Returns: "Impossible"
"X"
Returns: "Impossible"
"CATCATCCCCAT"
Returns: "Impossible"
"BAT"
Returns: "Impossible"
"XXCAXYZTT"
Returns: "Impossible"
"CGIGI"
Returns: "Impossible"
"TTAACACATACTATC"
Returns: "Impossible"
"CXSAT"
Returns: "Possible"