#include <bits/stdc++.h>
using namespace std;
int main() {
  stringstream ss;
  long long sum = 0;
  string s, t;
  int n, k;
  cin >> n;
  map<int, int> mp;
  for (int i = 0; i < n; i++) {
    cin >> t;
    s += t;
    ss << t;
    ss >> k;
    ss.clear();
    mp[k]++;
    if (k != 3 && k != 6 && k != 9) sum += k;
  }
  sort(s.rbegin(), s.rend());
  if (s[s.size() - 1] != '0') {
    cout << -1;
    return 0;
  }
  if (sum % 3 == 0) {
    if (s[0] == '0')
      cout << 0;
    else
      cout << s;
  } else if (sum % 3 == 1) {
    if (mp[1] > 0) {
      int c = s.find("1");
      s.erase(c, 1);
    } else if (mp[4] > 0) {
      int c = s.find("4");
      s.erase(c, 1);
    } else if (mp[7] > 0) {
      int c = s.find("7");
      s.erase(c, 1);
    } else if (mp[2] > 1) {
      int c = s.find("2");
      s.erase(c, 2);
    } else if (mp[2] >= 1 && mp[5] > 0) {
      int c = s.find("2");
      s.erase(c, 1);
      c = s.find("5");
      s.erase(c, 1);
    } else if (mp[2] >= 1 && mp[8] > 0) {
      int c = s.find("2");
      s.erase(c, 1);
      c = s.find("8");
      s.erase(c, 1);
    } else if (mp[5] > 1) {
      int c = s.find("5");
      s.erase(c, 2);
    } else if (mp[5] >= 1 && mp[8] > 0) {
      int c = s.find("8");
      s.erase(c, 1);
      c = s.find("5");
      s.erase(c, 1);
    } else if (mp[8] > 1) {
      int c = s.find("88");
      s.erase(c, 2);
    }
    if (s[0] == '0')
      cout << 0;
    else
      cout << s;
  } else if (sum % 3 == 2) {
    if (mp[2] > 0) {
      int c = s.find("2");
      s.erase(c, 1);
    } else if (mp[5] > 0) {
      int c = s.find("5");
      s.erase(c, 1);
    } else if (mp[8] >= 1) {
      int c = s.find("8");
      s.erase(c, 1);
    } else if (mp[1] > 1) {
      int c = s.find("11");
      s.erase(c, 2);
    } else if (mp[1] >= 1 && mp[4] > 0) {
      int c = s.find("1");
      s.erase(c, 1);
      c = s.find("4");
      s.erase(c, 1);
    } else if (mp[1] >= 1 && mp[7] > 0) {
      int c = s.find("1");
      s.erase(c, 1);
      c = s.find("7");
      s.erase(c, 1);
    } else if (mp[4] > 1) {
      int c = s.find("44");
      s.erase(c, 2);
    } else if (mp[4] >= 1 && mp[7] > 0) {
      int c = s.find("7");
      s.erase(c, 1);
      c = s.find("4");
      s.erase(c, 1);
    } else if (mp[7] > 1) {
      int c = s.find("77");
      s.erase(c, 2);
    }
    if (s[0] == '0')
      cout << 0;
    else
      cout << s;
  }
}
