마왕에게 거의 다다른 호반우지만 마왕의 옥좌로 들어가는 문이 잠겨 못 들어가고 있다.
문을 열기 위해서는 길이가 N인 마법 열쇠를 길이가 정확히 M인 마법 열쇠로 만들어야 하는데 마법 열쇠의 힘을 최대한 크게 만들어야 한다.
길이가 N인 마법 열쇠는 N개의 음이 아닌 정수로 이루어진 수열 a_1,,,a_2,,,a_3,,⋯,,a_N을 가지며 길이가 N인 마법 열쇠의 힘은 수열을 구성하는 N개의 수의 합으로 정의한다.
현재 마법 열쇠의 길이가 ℓ일 때 마법 열쇠에 다음 4가지 마법 중 하나를 적용하여 마법 열쇠의 길이를 줄일 수 있다.
- 마법 열쇠에서 a_1,,a_2를 제거하고 앞에 a_1⊕a_2를 추가하여 길이가 ℓ−1인 새로운 마법 열쇠를 만든다.
- 마법 열쇠에서 a_ℓ−1,,a_ℓ을 제거하고 뒤에 a_ℓ−1⊕a_ℓ을 추가하여 길이가 ℓ−1인 새로운 마법 열쇠를 만든다.
- 마법 열쇠에서 a_1,,a_2,,a_3,,a_4를 제거하고 앞에 a_2⊕a_3,,a_1⊕a_4를 추가하여 길이가 ℓ−2인 새로운 마법 열쇠를 만든다.
- 마법 열쇠에서 a_ℓ−3,,a_ℓ−2,,a_ℓ−1,,a_ℓ을 제거하고 뒤에 a_ℓ−3⊕a_ℓ,,a_ℓ−2⊕a_ℓ−1을 추가하여 길이가 ℓ−2인 새로운 마법 열쇠를 만든다.
각 연산마다 변화를 수열로 나타내면 다음과 같다.
- (a_1,,,a_2,,,a_3,,,a_4,,⋯,,a_ℓ)⇒(a_1⊕a_2,,,a_3,,,a_4,,⋯,,a_ℓ)
- (a_1,,⋯,,a_ℓ−3,,,a_ℓ−2,,,a_ℓ−1,,,a_ℓ)⇒(a_1,,⋯,,a_ℓ−3,,,a_ℓ−2,,,a_ℓ−1⊕a_ℓ)
- (a_1,,,a_2,,,a_3,,,a_4,,,a_5,,,a_6,,⋯,,a_ℓ)⇒(a_2⊕a_3,,,a_1⊕a_4,,,a_5,,,a_6,,⋯,,a_ℓ)
- (a_1,,⋯,,a_ℓ−5,,,a_ℓ−4,,,a_ℓ−3,,,a_ℓ−2,,,a_ℓ−1,,,a_ℓ)⇒(a_1,,⋯,,a_ℓ−5,,,a_ℓ−4,,,a_ℓ−3⊕a_ℓ,,,a_ℓ−2⊕a_ℓ−1)
호반우가 문을 열어 마왕에게 갈 수 있도록 도와주자!