#include <bits/stdc++.h>
using namespace std;
long long getc(long long x) {
  long long k = 0;
  while (x) {
    k++;
    x = x / 10;
  }
  return k;
}
long long vis[22];
long long a[100005];
long long dd[22];
long long b[100005];
void init() {
  long long sum = 1;
  for (long long i = 1; i <= 21; i++) dd[i] = sum, sum = (sum * 10) % 998244353;
}
int main() {
  init();
  long long n;
  scanf("%lld", &n);
  for (long long i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
    vis[getc(a[i])]++;
  }
  long long sum = 0;
  for (long long i = 1; i <= n; i++) {
    long long x = a[i], sz = 0;
    while (x) {
      sz++;
      long long y = x % 10;
      for (long long j = 1; j <= 11; j++) {
        long long jj =
            ((y * vis[j]) % 998244353 * dd[sz + min(j, sz)]) % 998244353;
        jj = jj + ((y * vis[j - 1]) % 998244353 * dd[sz + min(j, sz) - 1]) %
                      998244353;
        sum = (sum + jj) % 998244353;
      }
      x = x / 10;
    }
  }
  printf("%lld\n", sum % 998244353);
  return 0;
}
