#include <bits/stdc++.h>
using llong = long long;
constexpr int INF = 0x3f3f3f3f;
constexpr int NINF = 0xc0c0c0c0;
constexpr llong INFLL = 0x3f3f3f3f3f3f3f3fLL;
constexpr llong NINFLL = 0xc0c0c0c0c0c0c0c0LL;
std::string multi_string(int n, const std::string& str) {
  std::string res;
  for (int i(0), upper_i(n); i < upper_i; ++i) {
    res += str;
  }
  return res;
}
std::string multi_string(int n, const char* cstr) {
  return multi_string(n, std::string(cstr));
}
void string_insert(std::string& str, int pos, const std::string& to_insert) {
  str = str.substr(0, pos) + to_insert + str.substr(pos, str.length() - pos);
}
void insert4(std::string& str, int cnt4) {
  string_insert(str, str.find("4"), multi_string(cnt4, "4"));
}
void insert7(std::string& str, int cnt7) {
  string_insert(str, str.rfind("7"), multi_string(cnt7, "7"));
}
int main(int argc, char const* argv[]) {
  int _4, _7, _47, _74;
  scanf("%d %d %d %d", &_4, &_7, &_47, &_74);
  std::string res;
  int n = _4 + _7;
  if (abs(_47 - _74) >= 2) {
    printf("-1\n");
    return 0;
  }
  if (_47 == _74) {
    if (_7 >= _47 && _4 >= _47 + 1) {
      res += multi_string(_47, "47");
      res += "4";
      insert4(res, _4 - _47 - 1);
      insert7(res, _7 - _47);
    } else if (_4 >= _47 && _7 >= _47 + 1) {
      res += multi_string(_74, "74");
      res += "7";
      insert4(res, _4 - _47);
      insert7(res, _7 - _47 - 1);
    } else {
      res = "-1";
    }
  } else if (_47 == _74 + 1) {
    if (_4 >= _47 && _7 >= _47) {
      res += multi_string(_47, "47");
      insert7(res, _7 - _47);
      insert4(res, _4 - _47);
    } else {
      res = "-1";
    }
  } else {
    if (_4 >= _74 && _7 >= _74) {
      res += multi_string(_74, "74");
      insert7(res, _7 - _74);
      insert4(res, _4 - _74);
    } else {
      res = "-1";
    }
  }
  std::cout << res << std::endl;
  return 0;
}
