No tag edit access

B. Recover the String

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputFor each string *s* consisting of characters '0' and '1' one can define four integers *a*_{00}, *a*_{01}, *a*_{10} and *a*_{11}, where *a*_{xy} is the number of subsequences of length 2 of the string *s* equal to the sequence {*x*, *y*}.

In these problem you are given four integers *a*_{00}, *a*_{01}, *a*_{10}, *a*_{11} and have to find any non-empty string *s* that matches them, or determine that there is no such string. One can prove that if at least one answer exists, there exists an answer of length no more than 1 000 000.

Input

The only line of the input contains four non-negative integers *a*_{00}, *a*_{01}, *a*_{10} and *a*_{11}. Each of them doesn't exceed 10^{9}.

Output

If there exists a non-empty string that matches four integers from the input, print it in the only line of the output. Otherwise, print "Impossible". The length of your answer must not exceed 1 000 000.

Examples

Input

1 2 3 4

Output

Impossible

Input

1 2 2 1

Output

0110

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Aug/17/2017 22:13:40 (c3).

Desktop version, switch to mobile version.

User lists

Name |
---|