#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  long long z = (1 + sqrt(1 + (long long)8 * a)) / 2;
  double ze = (1 + sqrt(1 + (long long)8 * a)) / 2;
  long long o = (1 + sqrt(1 + (long long)8 * d)) / 2;
  double on = (1 + sqrt(1 + (long long)8 * d)) / 2;
  long long z1 = z, o1 = o;
  if (a == 0) {
    z1 = 0;
  } else if (d == 0) {
    o1 = 0;
  }
  if (z != ze || o != on) {
    cout << "Impossible" << endl;
  } else {
    if (z * o != b + c && z1 * o1 != b + c) {
      cout << "Impossible" << endl;
    } else {
      if (z1 * o1 == b + c) {
        z = z1, o = o1;
      }
      string ans;
      int uz = 0, uo = 0;
      for (int i = 0; i < z + o; i++) {
        if ((z - uz) <= c) {
          ans += '1';
          uo++;
          c -= (z - uz);
        } else if ((o - uo) <= b) {
          ans += '0';
          uz++;
          b -= (o - uo);
        }
      }
      cout << ans << endl;
    }
  }
  return 0;
}
