P17671 [IO 2025 #4] 斐波那契 XOR

题目描述

期待已久的“四骑士”终于回归了!阿特拉斯、杰克·怀尔德和其他骗术大师正在筹备一个新的惊人魔术。这一次,他们的目标不是甩开警察,而是欺骗数学世界。 主角们的桌上放着两个数 $n,m$。他们需要从斐波那契数 $F_0,F_1,F_2,\ldots$ 中选出一个序列 $F_{a_1},F_{a_2},\ldots,F_{a_k}$,其中 $a_1\le a_2\le\cdots\le a_k$。这个序列必须同时满足两个魔术的要求: - 阿特拉斯的魔术:$F_{a_1}\oplus F_{a_2}\oplus\cdots\oplus F_{a_k}=n$。 - 杰克的魔术:$F_{a_1}+F_{a_2}+\cdots+F_{a_k}=m$。 这里 $\oplus$ 表示按位异或,斐波那契数列定义为 $F_0=1$、$F_1=1$,且对于 $i\ge2$,$F_i=F_{i-1}+F_{i-2}$。这就是他们的秘密武器。注意,选出的数**不要求互不相同**,也就是说,可以多次选取同一个斐波那契数。 你的任务是求出能让骑士们向观众展示这个魔术的**最小元素个数 $k$**。如果无法做到,就意味着计划失败,魔术无法完成。

输入格式

第一行包含两个整数 $n,m$,其中 $1\le n,m\le10^{12}$。

输出格式

输出一个整数:如果题目要求的序列存在,输出最小的 $k$;否则输出 $-1$。