#include <bits/stdc++.h>
using namespace std;
int mark[2000005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(nullptr);
  long long a1, a2, a3, a4;
  cin >> a1 >> a2 >> a3 >> a4;
  if (((a3 - a4) < 0 ? -(a3 - a4) : (a3 - a4)) > 1) {
    cout << -1 << endl;
    return 0;
  }
  deque<int> v;
  if (a3 == a4) {
    if (a1 >= a3 + 1) {
      for (int i = 1; i <= a3; i++) {
        v.push_back(4);
        v.push_back(7);
      }
      v.push_back(4);
    } else {
      for (int i = 1; i <= a3; i++) {
        v.push_back(7);
        v.push_back(4);
      }
      v.push_back(7);
    }
  } else if (a3 > a4) {
    for (int i = 1; i <= a3; i++) {
      v.push_back(4);
      v.push_back(7);
    }
  } else {
    for (int i = 1; i <= a4; i++) {
      v.push_back(7);
      v.push_back(4);
    }
  }
  int four = count(v.begin(), v.end(), 4);
  int seven = count(v.begin(), v.end(), 7);
  if (four > a1 or seven > a2) {
    cout << -1 << endl;
    return 0;
  }
  for (int i = 0; i < v.size(); i++) {
    if (v[i] == 4) {
      mark[i] = a1 - four;
      break;
    }
  }
  for (int i = v.size() - 1; i >= 0; i--) {
    if (v[i] == 7) {
      mark[i] = a2 - seven;
      break;
    }
  }
  for (int i = 0; i < v.size(); i++) {
    cout << v[i];
    while (mark[i]) {
      mark[i]--;
      cout << v[i];
    }
  }
  cout << endl;
}
