import bisect from itertools import permutations from collections import Counter MOD = 998244353 N = int(input()) C = list(map(int,input().split())) """ def count(C): cc = Counter(C) for i in list(cc.keys()): cc[i] %= 2 return sum(cc.values()) from random import randint while(True): N = 2*10**5 C = [randint(1,9) for _ in range(N)] print(count(C)) """ CC = Counter(C) for i in list(CC.keys()): CC[i] %= 2 if(CC[i] == 0):CC.pop(i) nokori = [] for i in CC: for _ in range(CC[i]): nokori.append(i) def can_make(S): ret = [-1,10**18] for i in permutations(map(str,S)): ret.append(int("".join(i))) return sorted(ret) N = len(nokori) if(N == 0): print(0) exit() ans = 10**18 for i in range(1,1<>j & 1 == 0): a.append(nokori[j]) else: b.append(nokori[j]) ca = can_make(a) cb = can_make(b) for i in ca[1:-1]: left = bisect.bisect_right(cb,i) - 1 right = bisect.bisect_left(cb,i) ans = min(ans, abs(i - cb[left]), abs(i - cb[right])) print(ans % MOD)