#include <bits/stdc++.h>
using namespace std;
long long GCDFast(long long a, long long b) {
  while (b) b ^= a ^= b ^= a %= b;
  return a;
}
int dx[8] = {-1, 0, 1, 0, -1, 1, 1, -1};
int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};
long long GCD(long long b, long long a) {
  if (a == 0) return b;
  return GCD(a, b % a);
}
long long getLCM(long long a, long long b) {
  long long c = a / GCD(a, b);
  return b * c;
}
long long a[200005], dp[200005];
int main() {
  long long n, i, j, k, result = 0, temp, z, m;
  long long x, y, sum, test_case, length;
  long long flag, max = 0, number = 0, min = 1e9, index = 0, P, previous, l, r,
                  total;
  string str, input, numb;
  while (cin >> n) {
    number = 0;
    flag = 0;
    int flag2 = 0;
    numb = "1";
    sum = 1;
    total = 0;
    for (i = 0; i < n; i++) {
      cin >> input;
      r = 0;
      if (input == "0") flag = 1;
      k = 0;
      for (j = 0; j < input.size(); j++) {
        flag2 = 0;
        if (input[j] != '1' && input[j] != '0') {
          numb = input;
          flag2 = 1;
          break;
        }
        if (input[j] == '0')
          r++;
        else if (input[j] == '1')
          k++;
        if (k > 1) {
          numb = input;
          flag2 = 1;
          break;
        }
      }
      if (!flag2) total += r;
    }
    if (flag) {
      cout << "0\n";
      continue;
    }
    cout << numb;
    while (total--) {
      cout << "0";
    }
    cout << "\n";
  }
  return 0;
}
