#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
long long a[100005], len[15];
long long cal1(vector<long long>& v, long long len) {
  long long ans = 0;
  long long tmp = 1;
  long long tmp2 = v.size();
  for (int i = 0; i < max(tmp2, len); i++) {
    if (i < len) tmp = tmp * 10 % mod;
    if (i < v.size()) {
      ans += (v[i] * tmp) % mod;
      ans %= mod;
      tmp = tmp * 10 % mod;
    }
  }
  return ans;
}
long long cal2(long long len, vector<long long>& v) {
  long long ans = 0;
  long long tmp = 1;
  long long tmp2 = v.size();
  for (int i = 0; i < max(tmp2, len); i++) {
    if (i < v.size()) {
      ans += (v[i] * tmp) % mod;
      ans %= mod;
      tmp = tmp * 10 % mod;
    }
    if (i < len) tmp = tmp * 10 % mod;
  }
  return ans;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.precision(0);
  long long ans = 0;
  int t;
  cin >> t;
  long long maxlen = 0;
  for (int i = 0; i < t; i++) {
    cin >> a[i];
    long long tmp = a[i], num = 0;
    while (tmp > 0) {
      tmp /= 10;
      num++;
    }
    len[num]++;
    maxlen = max(num, maxlen);
  }
  for (int i = 0; i < t; i++) {
    vector<long long> v;
    long long tmp = a[i];
    while (tmp > 0) {
      v.push_back(tmp % 10);
      tmp /= 10;
    }
    for (int k = 1; k <= maxlen; k++) {
      long long sum = cal1(v, k);
      ans = (ans + (sum * len[k] % mod)) % mod;
      sum = cal2(k, v);
      ans = (ans + (sum * len[k] % mod)) % mod;
    }
  }
  cout << ans << endl;
}
