Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập biendoisosan

Biến đổi số của Sắn

Dễ Cài đặtSố học

  • 100 Điểm
  • 1.0s Thời gian
  • 500M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Sắn có số nguyên \(a\) và muốn biến nó thành số \(b\) bằng cách áp dụng liên tiếp các phép sau (theo thứ tự tuỳ chọn):

  • Phép A: thay số hiện tại \(x\) bằng \(2x\).
  • Phép B: viết thêm chữ số \(1\) vào bên phải \(x\), tức là thay \(x\) bằng \(10x + 1\).

Hãy chỉ ra dãy phép biến đổi từ \(a\) đến \(b\), hoặc cho biết không thể. Không cần tối thiểu số phép. (Nếu dãy tồn tại thì nó duy nhất, vì \(2x\) luôn chẵn còn \(10x+1\) luôn tận cùng bằng \(1\).)

Input

  • Một dòng gồm hai số nguyên \(a\) và \(b\).

Output

  • Nếu không thể, in NO.
  • Nếu có thể, in ba dòng: YES; số nguyên \(k\) là số phần tử của dãy; và dãy \(x_1, x_2, \dots, x_k\) trong đó \(x_1 = a\), \(x_k = b\) và mỗi \(x_i\) nhận được từ \(x_{i-1}\) bằng một phép biến đổi.

Constraints

  • \(1 \le a < b \le 10^9\).

Sample Input 1

3 1221

Sample Output 1

YES
5
3 6 61 122 1221

Sample Input 2

7 30

Sample Output 2

NO

Sample Input 3

9 361

Sample Output 3

YES
4
9 18 36 361

Bình luận

Chưa có bình luận nào.