#include <bits/stdc++.h>
using namespace std;
const long long mod = (long long)(1e9 + 7);
long long modpow(long long a, long long b) {
  if (!b) return 1;
  a %= mod;
  return modpow(a * a % mod, b / 2) * (b & 1 ? a : 1) % mod;
}
string construct(int a, int b) {
  string s;
  char nxt = a >= b ? '4' : '7';
  for (int i = 0; i < a + b + 1; i++) {
    s += nxt;
    if (nxt == '4')
      nxt = '7';
    else
      nxt = '4';
  }
  return string(s);
}
string construct2(int a, int b) {
  string s;
  char nxt = a > b ? '4' : '7';
  for (int i = 0; i < a + b + 1; i++) {
    s += nxt;
    if (nxt == '4')
      nxt = '7';
    else
      nxt = '4';
  }
  return string(s);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  if (abs(c - d) > 1)
    cout << -1 << endl;
  else {
    string s = construct(c, d);
    int n = s.length();
    a -= s[0] == '4' ? (n + 1) / 2 : n / 2;
    b -= s[0] == '7' ? (n + 1) / 2 : n / 2;
    if (a < 0 || b < 0) {
      a += s[0] == '4' ? (n + 1) / 2 : n / 2;
      b += s[0] == '7' ? (n + 1) / 2 : n / 2;
      s = construct2(c, d);
      n = s.length();
      a -= s[0] == '4' ? (n + 1) / 2 : n / 2;
      b -= s[0] == '7' ? (n + 1) / 2 : n / 2;
      if (a < 0 || b < 0) {
        cout << -1 << endl;
        exit(0);
      }
    }
    if (s[0] == s[n - 1]) {
      if (s[0] == '4')
        cout << string(a + 1, '4') << s.substr(1, n - 2) << string(b, '7')
             << s[n - 1] << endl;
      else
        cout << s[0] << string(a, '4') << s.substr(1) << string(b, '7') << endl;
    } else if (s[0] == '4')
      cout << string(a, '4') << s << string(b, '7') << endl;
    else
      cout << s[0] << string(a, '4') << s.substr(1, n - 2) << string(b, '7')
           << s[n - 1] << endl;
  }
  return 0;
}
