#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 9;
long long mod = 998244353;
long long ans = 0;
long long fast_pow(long long b, long long p) {
  if (p == 0) return 1;
  long long m = fast_pow(b, p / 2);
  m = ((m % mod) * (m % mod)) % mod;
  if (p % 2 == 1) m = ((m % mod) * (b % mod)) % mod;
  return m;
}
long long mp[15] = {}, mpp[15];
long long n;
void fun(string& s) {
  for (int i = 0; i < s.size(); i++) {
    long long p = (2 * i);
    long long ten = fast_pow(10, p);
    long long dig = s[s.size() - i - 1] - '0';
    ten *= dig;
    ans = ((ans % mod) +
           ((ten % mod) * ((n % mod - mpp[i] % mod + mod) % mod)) % mod) %
          mod;
    ten *= 10;
    ans = ((ans % mod) +
           ((ten % mod) * ((n % mod - mpp[i] % mod + mod) % mod)) % mod) %
          mod;
    for (int j = 1; j <= i; j++) {
      if ((mp[j] % mod) == 0) continue;
      ten = fast_pow(10, i + j);
      ten *= dig;
      ans = ((ans % mod) + ((ten % mod) * (mp[j] % mod) * 2) % mod) % mod;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  string s[N];
  for (int i = 0; i < n; i++) {
    cin >> s[i];
    mp[s[i].size()]++;
    mpp[s[i].size()]++;
  }
  for (int i = 0; i < 15; i++) {
    mpp[i] += mpp[i - 1];
  }
  for (int i = 0; i < n; i++) fun(s[i]);
  cout << ans;
  return 0;
}
