素数 P を 500069 とします。P 未満の正整数 X に対して rev(X) を X を leading 0 をつけ 6 桁に揃えた後、文字列としてリバースした数字とします。
例えば、rev(20007) = 700020、rev(103568) = 865301 です。f(X, Z, B) を以下のように定めます。
「現在の数字を A としたときに、A が 0 でなければ A + A, A + rev(A) (計算は mod P 上で行う)のいずれかに置き換える」というのを操作とする。操作のコストは A が B を文字列として含むならばコスト 0、そうでないならばコスト 1 である。X から Z に操作を繰り返してするとき、コストの最小値。
整数 X, Z, B が与えられます。f(X, Z, B) を求めてください。操作をおこない 0 になった場合、その後操作が出来ないことに注意してください。