#include <bits/stdc++.h>
using namespace std;
bool cmp(int a, int b) { return a > b; }
int a[100010];
int num[10];
int main() {
  int n;
  while (~scanf("%d", &n)) {
    int sum = 0;
    int flag = 0;
    memset(num, 0, sizeof(num));
    for (int i = 0; i < n; i++) {
      scanf("%d", &a[i]);
      sum += a[i];
      num[a[i]]++;
      if (a[i] == 0) flag = 1;
    }
    sort(a, a + n, cmp);
    int mark = 0;
    if (flag) {
      if (sum % 3 == 1) {
        if (num[1]) {
          num[1]--;
        } else if (num[4]) {
          num[4]--;
        } else if (num[7]) {
          num[7]--;
        } else if (num[2] > 1) {
          num[2] -= 2;
        } else if (num[2] && num[5]) {
          num[2]--;
          num[5]--;
        } else if (num[5] >= 2) {
          num[5] -= 2;
        } else if (num[5] && num[8]) {
          num[5]--;
          num[8]--;
        } else
          flag = 0;
      } else if (sum % 3 == 2) {
        if (num[2]) {
          num[2]--;
        } else if (num[5]) {
          num[5]--;
        } else if (num[8]) {
          num[8]--;
        } else if (num[1] >= 2) {
          num[1] -= 2;
        } else if (num[4] >= 2) {
          num[4] -= 2;
        } else if (num[1] && num[4]) {
          num[1]--;
          num[4]--;
        } else if (num[1] && num[7]) {
          num[1]--;
          num[7]--;
        } else if (num[7] >= 2) {
          num[7] -= 2;
        } else
          flag = 0;
      } else
        flag = 1;
    }
    if (flag) {
      for (int i = 1; i <= 9; i++) {
        if (num[i] >= 1) {
          mark = 1;
          break;
        }
      }
      if (mark) {
        for (int i = 9; i >= 0; i--) {
          for (int j = 0; j < num[i]; j++) cout << i;
        }
        cout << endl;
        continue;
      } else
        cout << 0 << endl;
    } else {
      int t = 0;
      for (int i = 0; i < n; i++) {
        if (a[i] == 0) {
          t = 1;
          cout << 0 << endl;
          break;
        }
      }
      if (t == 0) cout << "-1" << endl;
    }
  }
  return 0;
}
