import sys input = sys.stdin.readline from collections import Counter from functools import lru_cache @lru_cache(maxsize=None) def calc(D): #print(D) if len(D)==0: return 0 ANS=1<<60 for i in range(len(D)-1): x=D[i] y=D[i+1] if x==y: E=D[:i]+D[i+2:] ANS=min(ANS,calc(E)) else: E=D[:i]+D[i+2:] #print(E) score=0 keta=0 ix=len(E)//2-1 jx=len(E)//2 while ix>=0: score+=E[ix]*pow(10,keta) score-=E[jx]*pow(10,keta) ix-=1 jx+=1 keta+=1 #print(E,score) score+=(D[i+1]-D[i])*pow(10,keta) #print(score) ANS=min(ANS,score) return ANS mod=998244353 N=int(input()) C=list(map(int,input().split())) C.sort() SET=set() ANS=1<<60 if N%2==1: D=C[1:] score=0 keta=0 i=len(D)//2-1 j=len(D)//2 while i>=0: score+=D[i]*pow(10,keta,mod) score-=D[j]*pow(10,keta,mod) i-=1 j+=1 keta+=1 score+=C[0]*pow(10,keta,mod) print(score%mod) else: C=Counter(C) for i in range(1,10): if C[i]>=2 and C[i]%2==0: C[i]=2 elif C[i]>=3 and C[i]%2==1: C[i]=3 D=[] for c in C: for j in range(C[c]): D.append(c) D.sort() print(calc(tuple(D))%mod)