5. Rebus
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Write a program to create rebuses of the form x+y=z, where x, y, and z are strings of length $$$n$$$ consisting of uppercase Latin letters. Each letter represents a specific digit; identical letters must represent the same digit, and distinct letters must represent different digits. The rebus must contain exactly $$$k$$$ distinct letters.

Example of a rebus for $$$n=2$$$, $$$k=4$$$: AB+BC=DB. A possible solution for this rebus is: 23+30=53.

Input

The input consists of two integers, $$$n$$$ and $$$k$$$, each on a separate line ($$$1 \le n \le 9$$$, $$$1 \le k \le 10$$$).

Output

In the first line, print the rebus, in the second line, any one of its solutions. Note that numbers consisting of two or more digits cannot begin with zero. There should be no spaces in the output.

If multiple solutions exist, you may output any one of them. If no such rebus exists for the given $$$n$$$ and $$$k$$$ that has at least one solution, output "NO" (in uppercase letters, without quotation marks).

Scoring

Subtask 1 (up to 28 points): $$$n \le 4$$$

Subtask 2 (up to 32 points): $$$n \le 7$$$

Subtask 3 (up to 40 points): $$$n \le 9$$$

Examples
Input
2
4
Output
AB+BC=DB
23+30=53
Input
2
1
Output
NO