#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
using namespace std;
long long a, b, c, d;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  cin >> a >> b >> c >> d;
  if (abs(c - d) > 1) {
    return cout << "-1", 0;
  }
  if (c == d) {
    if (a > c && b >= c) {
      a -= (c + 1);
      b -= c;
      for (long long i = 1; i <= a; i++) {
        cout << 4;
      }
      for (long long i = 1; i <= c; i++) {
        cout << 47;
      }
      for (long long i = 1; i <= b; i++) {
        cout << 7;
      }
      cout << 4;
      return 0;
    } else if (a >= c && b > c) {
      b -= (c + 1);
      a -= c;
      cout << '7';
      for (long long i = 1; i <= a + 1; i++) {
        cout << 4;
      }
      for (long long i = 1; i < c; i++) {
        cout << 74;
      }
      for (long long i = 1; i <= b + 1; i++) {
        cout << 7;
      }
      return 0;
    } else
      return cout << "-1", 0;
  }
  if (a < max(c, d) || b < max(c, d)) {
    return cout << "-1", 0;
  }
  if (c < d) {
    a -= d;
    b -= d;
    cout << '7';
    for (long long i = 1; i <= a + 1; i++) {
      cout << 4;
    }
    for (long long i = 1; i < d - 1; i++) {
      cout << 74;
    }
    for (long long i = 1; i <= b + 1; i++) {
      cout << 7;
    }
    cout << 4;
  } else {
    d = c;
    a -= d;
    b -= d;
    for (long long i = 1; i <= a; i++) {
      cout << 4;
    }
    for (long long i = 1; i <= d; i++) {
      cout << 47;
    }
    for (long long i = 1; i <= b; i++) {
      cout << 7;
    }
  }
}
