#include <bits/stdc++.h>
using namespace std;
long long a[2][2];
long long one, zero, temp, tmp;
string s;
int main() {
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++) {
      cin >> a[i][j];
      tmp += a[i][j];
      if (i != j) temp += a[i][j];
    }
  if (tmp == 0) {
    cout << 0;
    return 0;
  }
  if (temp > 0) {
    zero = 1;
    one = 1;
  }
  while (zero * (zero - 1) / 2 < a[0][0]) zero++;
  while (one * (one - 1) / 2 < a[1][1]) one++;
  if (zero * (zero - 1) / 2 != a[0][0] || one * (one - 1) / 2 != a[1][1] ||
      zero * one != a[0][1] + a[1][0]) {
    cout << "Impossible";
    return 0;
  }
  for (int i = 0; i < zero + one; i++) s += '0';
  for (int i = 0; i < s.size(); i++) {
    if (zero == 0 || a[0][1] < one) {
      s[i] = '1';
      a[1][0] -= zero;
      one--;
    } else {
      a[0][1] -= one;
      zero--;
    }
  }
  cout << s << endl;
}
