回想一下,字符串的子序列是指通过从原字符串中删除若干字符(可以不删除)后得到的字符串。例如,“string”、“sing”、“i”和“sg”都是“string”的子序列。如果同一个子序列可以通过删除不同位置的字符以 $t$ 种不同的方式得到,我们就说该子序列出现了 $t$ 次。
Picture by snd63 via pixabay, CC0
Jingfei 想要构造一个非空的位字符串(仅包含 '0' 和 '1' 的字符串),使其满足以下性质:
- 子序列 00 出现了 $a$ 次,
- 子序列 01 出现了 $b$ 次,
- 子序列 10 出现了 $c$ 次,
- 子序列 11 出现了 $d$ 次。
然而,Jingfei 不知道如何构造这样的字符串,甚至不知道这是否可能。你能帮帮她吗?
输入格式
输入包含一行,四个整数 $a, b, c, d$ ($0 \le a, b, c, d \le 10^9$)。
输出格式
输出一个满足给定要求的位字符串。如果存在多个解,输出其中任意一个即可。如果不存在解,输出 “impossible”。
样例
输入格式 1
3 4 2 1
输出格式 1
01001
输入格式 2
5 0 0 5
输出格式 2
impossible