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

The problem statement has recently been changed. View the changes.

×
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-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/23/2021 22:34:14 (g1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|