#include <bits/stdc++.h>
using namespace std;
template <typename T1, typename T2>
std::istream& operator>>(std::istream& in, pair<T1, T2>& a) {
  in >> a.first >> a.second;
  return in;
}
template <typename T1, typename T2>
std::ostream& operator<<(std::ostream& out, pair<T1, T2>& a) {
  out << a.first << " " << a.second;
  return out;
}
long long n;
long long a, b, c, d;
string s;
void solve() {
  cin >> a >> b >> c >> d;
  if (c > a || d > b || c > b || d > a || (c == d && (c == max(a, b))) ||
      c > d + 1 || d > c + 1) {
    cout << -1;
    return;
  }
  if (d > c) {
    cout << 7;
    d--;
    b--;
  }
  for (long long i = 0; i < c; i++) {
    s.push_back('4');
    s.push_back('7');
    b--;
    a--;
  }
  for (long long i = 0; i < b; i++) {
    s.push_back('7');
  }
  if (c == d) {
    if (a) {
      s.push_back('4');
      a--;
    } else {
      cout << 7;
      s.pop_back();
    }
  }
  for (long long i = 0; i < a; i++) {
    cout << 4;
  }
  cout << s;
}
signed main() {
  ios_base::sync_with_stdio(false);
  long long t = 1;
  while (t--) solve();
  return 0;
}
