Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

D. Ehab the Xorcist

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputGiven 2 integers $$$u$$$ and $$$v$$$, find the shortest array such that bitwise-xor of its elements is $$$u$$$, and the sum of its elements is $$$v$$$.

Input

The only line contains 2 integers $$$u$$$ and $$$v$$$ $$$(0 \le u,v \le 10^{18})$$$.

Output

If there's no array that satisfies the condition, print "-1". Otherwise:

The first line should contain one integer, $$$n$$$, representing the length of the desired array. The next line should contain $$$n$$$ positive integers, the array itself. If there are multiple possible answers, print any.

Examples

Input

2 4

Output

2 3 1

Input

1 3

Output

3 1 1 1

Input

8 5

Output

-1

Input

0 0

Output

0

Note

In the first sample, $$$3\oplus 1 = 2$$$ and $$$3 + 1 = 4$$$. There is no valid array of smaller length.

Notice that in the fourth sample the array is empty.

Codeforces (c) Copyright 2010-2020 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/01/2020 09:37:25 (h3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|