#include #include using namespace std; using ll = long long; using mint = atcoder::modint998244353; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector a(n); for(auto &&v : a) cin >> v; sort(a.begin(), a.end()); mint ans; if(n % 2 == 0){ array cnt{}; for(auto &&c : a) cnt[c - '0']++; string b; for(int i = 0; i < 10; i++){ if(cnt[i] & 1){ b += i + '0'; cnt[i]--; } } if(b.empty()){ cout << "0\n"; return 0; } for(int i = 0; i < 10; i++){ if(cnt[i] >= 2){ cnt[i] -= 2; b += i + '0'; b += i + '0'; break; } } for(int i = 9; i >= 0; i--){ if(cnt[i] >= 2){ b += i + '0'; b += i + '0'; break; } } sort(b.begin(), b.end()); ll mn = 1ll << 60; do{ ll v0 = stoll(b.substr(0, b.size() / 2)); ll v1 = stoll(b.substr(b.size() / 2, b.size() / 2)); mn = min(mn, abs(v0 - v1)); }while(next_permutation(b.begin(), b.end())); ans = mn; }else{ mint v0, v1; for(int i = 0; i < (n + 1) / 2; i++){ v0 *= 10; v0 += a[i] - '0'; } for(int i = 0; i < n / 2; i++){ v1 *= 10; v1 += a.rbegin()[i] - '0'; } ans = v0 - v1; } cout << ans.val() << '\n'; }