Defense Distance
time limit per test
2 seconds
memory limit per test
1024 megabytes
input
standard input
output
standard output

The NWRRC security server has a final access check for teams that try to submit their solutions to the secret hidden problem.

To pass the check, the team must enter three passwords $$$s$$$, $$$t$$$, and $$$u$$$ that the system will accept. Each password must be a non-empty string consisting of at most $$$5000$$$ lowercase English letters.

The rules of the server are public:

The distance between two strings $$$s_1$$$ and $$$s_2$$$ is the minimum number of single-character operations (insert one character, remove one character, or replace one character) needed to convert string $$$s_1$$$ into string $$$s_2$$$. This metric is also known as the Levenshtein distance.

The server gives access to the hidden problem if and only if all described conditions are satisfied. Your goal is to construct a triple of passwords to unlock the hidden problem or determine that it is impossible.

Input

The only line contains three integers $$$a$$$, $$$b$$$, and $$$c$$$, denoting the required distances between each pair of passwords ($$$0 \le a, b, c \le 1000$$$).

Output

If there are no three passwords with the required properties, print "No" in the only line.

Otherwise, print "Yes" in the first line. Then print passwords $$$s$$$, $$$t$$$, and $$$u$$$ in the following three lines. Each password should consist of at least $$$1$$$ and at most $$$5000$$$ lowercase English letters.

If there are multiple triples of passwords that meet the requirements, print any of them.

Examples

Input
4 3 5
Output
Yes
icpc
nwrrc
itmo
Input
2 2 2
Output
Yes
aa
bb
cc
Input
0 0 1
Output
No

Note

In the first test case:

In the second test case, the distance between each pair of passwords is $$$2$$$.

In the third test case, it can be shown that there are no three passwords with the required properties.