#include <bits/stdc++.h>
using namespace std;
int main() {
  char s[1000100];
  int x, y;
  int a, b, c, d;
  while (~scanf("%d%d%d%d", &a, &b, &c, &d)) {
    x = sqrt((long long)a * 8 + 1) / 2 + 1;
    y = sqrt((long long)d * 8 + 1) / 2 + 1;
    if (a == 0) x = 0;
    if (d == 0) y = 0;
    if (!x && (b || c)) x = 1;
    if (!y && (b || c)) y = 1;
    if (x == 0 && y == 0) {
      printf("0\n");
      continue;
    }
    if ((long long)x * (x - 1) != (long long)a * 2 ||
        (long long)y * (y - 1) != (long long)d * 2 ||
        (long long)x * y != (long long)c + b) {
      printf("Impossible\n");
      continue;
    } else {
      if (x == 0) {
        for (int i = 1; i <= y; i++) {
          printf("1");
        }
        printf("\n");
        continue;
      }
      if (y == 0) {
        for (int i = 1; i <= x; i++) {
          printf("0");
        }
        printf("\n");
        continue;
      }
      int p = c / y;
      int q = c % y;
      if (q) p++;
      for (int i = 1; i <= x - p; i++) {
        printf("0");
      }
      for (int i = 1; i <= q; i++) {
        printf("1");
      }
      if (q) {
        p--;
        printf("0");
      }
      for (int i = 1; i <= y - q; i++) {
        printf("1");
      }
      for (int i = 1; i <= p; i++) {
        printf("0");
      }
      printf("\n");
    }
  }
  return 0;
}
