小 X 撿到了一台複讀機,這台複讀機可以向機器人發號施令。機器人將站在一棵完全二叉樹的根上,完全二叉樹是無限延伸的。你將向複讀機錄入一串指令,這串指令單個字符可以是:
L:命令機器人向當前節點的左子走;R:命令機器人向當前節點的右子走;U:命令機器人向當前節點的父親走(若沒有,則命令非法)。
錄入指令後,複讀機將會把指令無限複讀下去。比如命令為 LR,那麼機器人會遵從 LRLRLRLR... 一直走下去。
這棵完全二叉樹上有一個 $n$ 個節點的連通塊,保證這個連通塊包含根節點。連通塊上的每個節點都埋有寶藏,機器人到達過的地方如果有寶藏,則會將其開採。如果一個地方沒有寶藏,機器人也可以到那裡去。機器人也可以反覆經過一個地方。
顯然,這個連通塊本身也是一棵二叉樹。
現在,有人告訴了小 X 埋有寶藏的這棵二叉樹的前序遍歷,小 X 需要尋找到一條儘量短的指令,使得機器人能夠挖掘出所有寶藏。
輸入格式
一行一個字符串,由 0123 中的字符組成,表示埋有寶藏的這棵二叉樹的前序遍歷。
0:表示這是一個沒有兒子的節點。1:表示這是一個只有左子的節點。2:表示這是一個只有右子的節點。3:表示這是一個既有左子又有右子的節點。
輸出格式
一個整數,表示最短指令的長度。
範例
範例 1 輸入
1313000
範例 1 輸出
3
說明 1
一種可行的最短指令為 LRU。
範例 2 輸入
333003003300300
範例 2 輸出
15
子任務
- Subtask 1(31 points):$2 \le n \le 10$。
- Subtask 2(32 points):$2 \le n \le 200$。
- Subtask 3(37 points):無特殊限制。
對於 $100\%$ 的資料,$2 \le n \le 2 \times 10^3$。