#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n;
cin >> n;
vector< long long int > V( n) ;
vector< int > len( 11 ) ;
for ( int i= 0 ; i< n; i++ ) {
cin >> V[ i] ;
if ( V[ i] < 10 )
len[ 1 ] ++ ;
else if ( V[ i] < 100 )
len[ 2 ] ++ ;
else if ( V[ i] < 1000 )
len[ 3 ] ++ ;
else if ( V[ i] < 10000 )
len[ 4 ] ++ ;
else if ( V[ i] < 100000 )
len[ 5 ] ++ ;
else if ( V[ i] < 1000000 )
len[ 6 ] ++ ;
else if ( V[ i] < 10000000 )
len[ 7 ] ++ ;
else if ( V[ i] < 100000000 )
len[ 8 ] ++ ;
else if ( V[ i] < 1000000000 )
len[ 9 ] ++ ;
else if ( V[ i] < 10000000000 )
len[ 10 ] ++ ;
}
long long int total = 0 ;
for ( int i= 0 ; i< n; i++ )
{
long long int tempo = V[ i] ;
for ( int j= 1 ; j<= 10 ; j++ )
{
long long int value = 0 ;
int k = j;
long long int temp = 1 ;
while ( k> 0 && tempo> 0 )
{
k-- ;
temp* = 10 ;
value + = ( ( tempo% 10 ) * temp) ;
temp* = 10 ;
tempo/ = 10 ;
}
while ( tempo> 0 )
{
value+ = ( ( tempo% 10 ) * temp) ;
tempo/ = 10 ;
temp* = 10 ;
}
tempo = V[ i] ;
value% = 998244353 ;
total+ = ( ( ( value* len[ j] ) % 998244353 ) 998244353 ) ;
}
tempo = V[ i] ;
for ( int j= 1 ; j<= 10 ; j++ )
{
long long int value = 0 ;
int k = j;
long long int temp = 1 ;
while ( k> 0 && tempo> 0 )
{
value + = ( ( tempo% 10 ) * temp) ;
temp* = 10 ;
tempo/ = 10 ;
k-- ;
temp* = 10 ;
}
while ( tempo> 0 )
{
value+ = ( ( tempo% 10 ) * temp) ;
tempo/ = 10 ;
temp* = 10 ;
}
tempo = V[ i] ;
value% = 998244353 ;
total+ = ( ( ( value* len[ j] ) % 998244353 ) % 998244353 ) ;
}
}
cout << total<< endl;
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIHZlY3Rvcjxsb25nIGxvbmcgaW50PiBWKG4pOwogICAgdmVjdG9yPGludD4gbGVuKDExKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgY2luPj5WW2ldOwogICAgaWYoVltpXTwxMCkKICAgIGxlblsxXSsrOwogICAgZWxzZSBpZihWW2ldPDEwMCkKICAgIGxlblsyXSsrOwogICAgZWxzZSBpZihWW2ldPDEwMDApCiAgICBsZW5bM10rKzsKICAgIGVsc2UgaWYoVltpXTwxMDAwMCkKICAgIGxlbls0XSsrOwogICAgZWxzZSBpZihWW2ldPDEwMDAwMCkKICAgIGxlbls1XSsrOwogICAgZWxzZSBpZihWW2ldPDEwMDAwMDApCiAgICBsZW5bNl0rKzsKICAgIGVsc2UgaWYoVltpXTwxMDAwMDAwMCkKICAgIGxlbls3XSsrOwogICAgZWxzZSBpZihWW2ldPDEwMDAwMDAwMCkKICAgIGxlbls4XSsrOwogICAgZWxzZSBpZihWW2ldPDEwMDAwMDAwMDApCiAgICBsZW5bOV0rKzsKICAgIGVsc2UgaWYoVltpXTwxMDAwMDAwMDAwMCkKICAgIGxlblsxMF0rKzsKICAgIH0KICAgIGxvbmcgbG9uZyBpbnQgdG90YWwgPSAwOwogICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgIHsKICAgICAgICBsb25nIGxvbmcgaW50IHRlbXBvID0gVltpXTsKICAgICAgICBmb3IoaW50IGo9MTtqPD0xMDtqKyspCiAgICAgICAgewogICAgICAgICAgICBsb25nIGxvbmcgaW50IHZhbHVlID0gMDsKICAgICAgICAgICAgaW50IGsgPSBqOwogICAgICAgICAgICBsb25nIGxvbmcgaW50IHRlbXAgPSAxOwogICAgICAgICAgICB3aGlsZShrPjAmJnRlbXBvPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGstLTsKICAgICAgICAgICAgICAgIHRlbXAqPTEwOwogICAgICAgICAgICAgICAgdmFsdWUgKz0gKCh0ZW1wbyUxMCkqdGVtcCk7CiAgICAgICAgICAgICAgICB0ZW1wKj0xMDsKICAgICAgICAgICAgICAgIHRlbXBvLz0xMDsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSh0ZW1wbz4wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YWx1ZSs9KCh0ZW1wbyUxMCkqdGVtcCk7CiAgICAgICAgICAgICAgICB0ZW1wby89MTA7CiAgICAgICAgICAgICAgICB0ZW1wKj0xMDsKICAgICAgICAgICAgfQogICAgICAgICAgICB0ZW1wbyA9IFZbaV07CiAgICAgICAgICAgIHZhbHVlJT05OTgyNDQzNTM7CiAgICAgICAgICAgIHRvdGFsKz0oKCh2YWx1ZSpsZW5bal0pJTk5ODI0NDM1Myk5OTgyNDQzNTMpOwogICAgICAgIH0KICAgICAgICB0ZW1wbyA9IFZbaV07CiAgICAgICAgZm9yKGludCBqPTE7ajw9MTA7aisrKQogICAgICAgIHsKICAgICAgICAgICAgbG9uZyBsb25nIGludCB2YWx1ZSA9IDA7CiAgICAgICAgICAgIGludCBrID0gajsKICAgICAgICAgICAgbG9uZyBsb25nIGludCB0ZW1wID0gMTsKICAgICAgICAgICAgd2hpbGUoaz4wJiZ0ZW1wbz4wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YWx1ZSArPSAoKHRlbXBvJTEwKSp0ZW1wKTsKICAgICAgICAgICAgICAgIHRlbXAqPTEwOwogICAgICAgICAgICAgICAgdGVtcG8vPTEwOwogICAgICAgICAgICAgICAgay0tOwogICAgICAgICAgICAgICAgdGVtcCo9MTA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUodGVtcG8+MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFsdWUrPSgodGVtcG8lMTApKnRlbXApOwogICAgICAgICAgICAgICAgdGVtcG8vPTEwOwogICAgICAgICAgICAgICAgdGVtcCo9MTA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGVtcG8gPSBWW2ldOwogICAgICAgICAgICB2YWx1ZSU9OTk4MjQ0MzUzOwogICAgICAgICAgICB0b3RhbCs9KCgodmFsdWUqbGVuW2pdKSU5OTgyNDQzNTMpJTk5ODI0NDM1Myk7CiAgICAgICAgfQogICAgfQogICAgY291dDw8dG90YWw8PGVuZGw7CiAgICByZXR1cm4gMDsKfQ==