마왕에게 거의 다다른 호반우지만, 마왕의 옥좌로 들어가는 문이 잠겨 있어 들어가지 못하고 있다.
문을 열려면 길이가 N인 마법 열쇠를 길이가 정확히 M인 마법 열쇠로 만들어야 한다. 이때 마법 열쇠의 힘을 최대한 크게 만들어야 한다.
길이가 ℓ인 마법 열쇠는 음이 아닌 정수 ℓ개로 이루어진 수열 a1,a2,a3,⋯,aℓ을 가진다. 마법 열쇠의 힘은 이 수열을 구성하는 수들의 합으로 정의한다.
길이가 ℓ인 마법 열쇠에는 다음 4가지 마법 중 하나를 적용하여 길이를 줄일 수 있다.
- a1과 a2를 제거하고 앞에 a1⊕a2를 추가하여 길이가 ℓ−1인 마법 열쇠를 만든다. 수열은 (a1,a2,a3,⋯,aℓ)⇒(a1⊕a2,a3,⋯,aℓ)로 바뀐다.
- aℓ−1과 aℓ을 제거하고 뒤에 aℓ−1⊕aℓ을 추가하여 길이가 ℓ−1인 마법 열쇠를 만든다. 수열은 (a1,⋯,aℓ−2,aℓ−1,aℓ)⇒(a1,⋯,aℓ−2,aℓ−1⊕aℓ)로 바뀐다.
- a1,a2,a3,a4를 제거하고 앞에 a2⊕a3,a1⊕a4를 추가하여 길이가 ℓ−2인 마법 열쇠를 만든다. 수열은 (a1,a2,a3,a4,a5,⋯,aℓ)⇒(a2⊕a3,a1⊕a4,a5,⋯,aℓ)로 바뀐다.
- aℓ−3,aℓ−2,aℓ−1,aℓ을 제거하고 뒤에 aℓ−3⊕aℓ,aℓ−2⊕aℓ−1을 추가하여 길이가 ℓ−2인 마법 열쇠를 만든다. 수열은 (a1,⋯,aℓ−4,aℓ−3,aℓ−2,aℓ−1,aℓ)⇒(a1,⋯,aℓ−4,aℓ−3⊕aℓ,aℓ−2⊕aℓ−1)로 바뀐다.