#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000 + 5;
int num[maxn];
bool num1[maxn];
int cmp(int a, int b) { return a > b; }
int main() {
  int n, m, y, flag, g1, g2;
  while (scanf("%d", &n) != EOF) {
    m = 0;
    flag = 0;
    g2 = 0;
    memset(num1, true, sizeof(num1));
    for (int i = 0; i < n; i++) {
      scanf("%d", &num[i]);
      m += num[i];
    }
    sort(num, num + n, cmp);
    y = m % 3;
    if (y == 1) {
      for (int i = n - 1; i >= 0; i--) {
        if (num[i] % 3 == 1) {
          num1[i] = false;
          flag = 1;
          break;
        }
      }
      if (flag == 0) {
        g1 = 0;
        for (int i = n - 1; i >= 0; i--) {
          if (num[i] % 3 == 2) {
            num1[i] = false;
            g1++;
          }
          if (g1 == 2) {
            flag = 1;
            break;
          }
        }
      }
    } else if (y == 2) {
      for (int i = n - 1; i >= 0; i--) {
        if (num[i] % 3 == 2) {
          num1[i] = false;
          flag = 1;
          break;
        }
      }
      if (flag == 0) {
        g1 = 0;
        for (int i = n - 1; i >= 0; i--) {
          if (num[i] % 3 == 1) {
            num1[i] = false;
            g1++;
          }
          if (g1 == 2) {
            flag = 1;
            break;
          }
        }
      }
    } else
      flag = 1;
    for (int i = 0; i < n; i++)
      if (num1[i]) g2 += num[i];
    if (m == 0 || g2 == 0 || (num[n - 1] == 0 && flag == 0))
      printf("0\n");
    else if (flag == 0 || num[n - 1] != 0)
      printf("-1\n");
    else {
      for (int i = 0; i < n; i++)
        if (num1[i]) printf("%d", num[i]);
      printf("\n");
    }
  }
  return 0;
}
