题目描述
题目描述
珅泽教育的刘老师有一个数a,他想把这个数变成b,为此他可以做两种变换.
1.把现有的数x变为2x;
2.把现有的数x后面接一个1(即x变为10x+1).
例如a=2,b=162,你可以以如下的方式把a变成b
2 -> 4 -> 8 -> 81 -> 162
你需要帮刘老师判断一下,把a变成b是否可能。
输入格式
输入共1行:
第1行,两个整数a,b,意义如题目描述.
输出格式
输出共3行:
第1行,一个字符串,如果变形是可能的,就输出"YES"否则输出"NO"(均不带引号).
第2行,一个整数k,意义与第3行一起解释.
第3行,用空格隔开的k个正整数a1,a2,⋯,ak,表示把a变成b的过程,其中a=a1,b=ak,过程中ai会变成ai+1.
如果有多种变形路线,输出优先使用第1种变换的路线
输入样例 #1
2 162
输出样例 #1
YES
5
2 4 8 81 162
输入样例 #2
1 1
输出样例 #2
YES
1
1
输入样例 #3
4 42
输出样例 #3
NO
数据范围与约定
1 ≤ a,b ≤ 10^9。