# 人在沒有確認自己的帽子顏色時,不會貿然離開 !
<10個人有3頂紅帽>
紅帽A的視角 : 看到紅帽B和紅帽C,其餘為白帽,所以他猜測紅帽數為2或3
紅帽B的視角 : 看到紅帽A和紅帽C,其餘為白帽,所以他猜測紅帽數為2或3
紅帽C的視角 : 看到紅帽A和紅帽B,其餘為白帽,所以他猜測紅帽數為2或3
其餘白帽的視角: 看到紅帽A、紅帽B、紅帽C,其餘為白帽,所以他猜測紅帽數為3或4
第一天 : 沒人敢離開
第二天 : 沒人敢離開
第三天 :
第四天 :
其餘戴白帽發現自己眼中戴紅帽的人都走了,代表那些人知道自己絕對不是紅帽,所以戴紅帽的人才敢走,因此剩餘的人都可知道自己是白的
所以我們可以推論,在紅帽數和人數不相同時,所需的天數就是紅帽數+1 (因為需要有紅帽數-1的天數沒人敢離開,戴紅帽的人才能確認自己帽子的顏色)
# 人在沒有確認自己的帽子顏色時,不會貿然離開 !
<10個人有3頂紅帽>
紅帽A的視角 : 看到紅帽B和紅帽C,其餘為白帽,所以他猜測紅帽數為2或3
紅帽B的視角 : 看到紅帽A和紅帽C,其餘為白帽,所以他猜測紅帽數為2或3
紅帽C的視角 : 看到紅帽A和紅帽B,其餘為白帽,所以他猜測紅帽數為2或3
其餘白帽的視角: 看到紅帽A、紅帽B、紅帽C,其餘為白帽,所以他猜測紅帽數為3或4
第一天 : 沒人敢離開
第二天 : 沒人敢離開
第三天 :
- 紅帽A : 紅帽B和紅帽C居然沒離開,表示他看到了另一個紅帽,但是除了自己,其他人都是白帽,那代表自己就是紅帽
- 紅帽B : 紅帽A和紅帽C居然沒離開,表示他看到了另一個紅帽,但是除了自己,其他人都是白帽,那代表自己就是紅帽
- 紅帽C : 紅帽A和紅帽B居然沒離開,表示他看到了另一個紅帽,但是除了自己,其他人都是白帽,那代表自己就是紅帽
- 紅帽A、紅帽B、紅帽C確認自己帽子顏色後離開
第四天 :
其餘戴白帽發現自己眼中戴紅帽的人都走了,代表那些人知道自己絕對不是紅帽,所以戴紅帽的人才敢走,因此剩餘的人都可知道自己是白的
所以我們可以推論,在紅帽數和人數不相同時,所需的天數就是紅帽數+1 (因為需要有紅帽數-1的天數沒人敢離開,戴紅帽的人才能確認自己帽子的顏色)
try :
while True :
people, hats = map(int, input().split())
if people == hats :
print(hats)
else :
print(hats+1)
except EOFError :
pass