你正計畫去歐洲旅行,但是你不知道該到哪些城市,所以你就向父母尋求建議。
你的母親說:「兒子呀!你應該去巴黎、馬德里、里斯本和倫敦,而且要按照這樣的順序去玩。」
你的父親卻說:「No,No,No, 你應該先去巴黎,然後里斯本,然後倫敦,最後才去馬德里。相信我。」
現在你陷入一個困境中了,如果你聽從父親的建議,那會傷了母親的心。如果你聽從了母親的建議,那會傷了父親的心。但是如果你不管他們的建議,更可能傷了他們 2 個人的心。
所以你決定盡可能的聽從他們 2 人的建議。所以你決定了:巴黎,里斯本,倫敦這樣順序的旅程,以滿足你的父母親。雖然這個決定使你只能到巴黎,里斯本,倫敦這 3 個城市去,而無法去馬德里。
如果你的父親建議:「倫敦–巴黎–里斯本–馬德里」這樣的旅程,那麼你將有 2 組組合:「巴黎–里斯本」及「巴黎–馬德里」來盡可能滿足你的父母。在這個情況下,你就只能去 2 個城市玩了。
你想要避免將來要面臨這樣的難題,如果他們建議的城市更多的話。所以你想要寫一個程式來幫助你。你將每個城市以一個字元來表示,這些字元包括大小寫英文字母,數字,以及空白字元。因此,你可以到 63 個城市可以去玩。但是請注意:你可能會到一個城市不止一次。
假如你以 a
代表巴黎,b
代表馬德里,c
代表里斯本,d
代表倫敦,那你母親建議的旅程順序就是:abcd
,而你父親建議的則是:acdb
(上面的第一個例子)
程式必須輸入父母所建議的 2 個旅程,然後回答在盡可能滿足你父母的情況下,你最多可以去多少個城市旅行。
Input
輸入含有多組測試資料。每一組測試資料 2 列,分別代表你父母所建議的 2 個旅程 (每列最多 100 個字元)。當遇到一列內容為單一 #
時,代表輸入結束。請參考 Sample Input。
Output
每組測試資料輸出在盡可能滿足你父母的情況下,你最多可以去多少個城市旅行。請參考 Sample Output。
Sample Input
abcd
acdb
abcd
dacb
#
Sample Output
Case #1: you can visit at most 3 cities.
Case #2: you can visit at most 2 cities.