#include <bits/stdc++.h>
using namespace std;
long long int INF = 1000000000000000;
long long int MOD = 998244353;
long long int ten_pow[30];
int find_len(long long int x) {
  int cnt = 0;
  while (x) x /= 10, cnt++;
  return cnt;
}
long long int func_one(long long int x, long long int len) {
  int i;
  long long int res = 0;
  for (i = 0; i < len; i++) {
    if (!x) break;
    res = (res + (x % 10) * ten_pow[2 * i]) % MOD;
    x /= 10;
  }
  res = (x * ten_pow[2 * i] + res) % MOD;
  return res;
}
long long int func_two(long long int x, long long int len) {
  int i;
  long long int res = 0;
  for (i = 0; i < len; i++) {
    if (!x) break;
    res = (res + (x % 10) * ten_pow[2 * i + 1]) % MOD;
    x /= 10;
  }
  res = (x * ten_pow[2 * i] + res) % MOD;
  return res;
}
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ten_pow[0] = 1;
  for (int i = 1; i < 30; i++) ten_pow[i] = (ten_pow[i - 1] * 10) % MOD;
  int n;
  cin >> n;
  long long int arr[n];
  int digits[12] = {0};
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    digits[find_len(arr[i])]++;
  }
  long long int res = 0, tmp;
  for (int i = 0; i < n; i++) {
    for (int len = 1; len <= 10; len++) {
      tmp = (func_one(arr[i], len) * digits[len]) % MOD;
      res = (res + tmp) % MOD;
      tmp = (func_two(arr[i], len) * digits[len]) % MOD;
      res = (res + tmp) % MOD;
    }
  }
  cout << res << "\n";
}
