#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 5;
const long long INF = 1e6;
long long a1, a2, a3, a4;
bool beyond(long long x, long long y) {
  if (x > a1 || y > a2) {
    return true;
  }
  return false;
}
int main() {
  while (~scanf("%lld %lld %lld %lld", &a1, &a2, &a3, &a4)) {
    if (fabs(a3 - a4) >= 2) {
      printf("-1\n");
      return 0;
    } else if (a3 == a4) {
      if (!beyond(a3 + 1, a4)) {
        a1 -= a3 + 1;
        a2 -= a4;
        for (long long i = 1; i <= a1 + 1; i++) {
          printf("4");
        }
        printf("7");
        for (long long i = 2; i <= a3; i++) {
          printf("47");
        }
        for (long long i = 1; i <= a2; i++) {
          printf("7");
        }
        printf("4");
      } else if (!beyond(a3, a4 + 1)) {
        a1 -= a3;
        a2 -= a4 + 1;
        printf("7");
        for (long long i = 1; i <= a1 + 1; i++) {
          printf("4");
        }
        for (long long i = 2; i <= a3; i++) {
          printf("74");
        }
        while (a2) {
          printf("7");
          a2--;
        }
        printf("7");
      } else {
        printf("-1\n");
      }
    } else if (a3 > a4) {
      if (!beyond(a3, a3)) {
        a1 -= a3;
        a2 -= a3;
        for (long long i = 1; i <= a1 + 1; i++) {
          printf("4");
        }
        printf("7");
        for (long long i = 2; i <= a3; i++) {
          printf("47");
        }
        for (long long i = 1; i <= a2; i++) {
          printf("7");
        }
      } else {
        printf("-1");
        return 0;
      }
    } else {
      if (!beyond(a4, a4)) {
        a1 -= a4;
        a2 -= a4;
        printf("7");
        for (long long i = 1; i <= a1 + 1; i++) {
          printf("4");
        }
        for (long long i = 2; i <= a4 - 1; i++) {
          printf("74");
        }
        a2++;
        while (a2) {
          printf("7");
          a2--;
        }
        printf("4");
      } else {
        printf("-1");
      }
    }
  }
}
