#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using ll = long long; int main() { int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; vector pos, neg; ll s = 0; for (ll x : a) { if (x >= 0) pos.push_back(x); else { neg.push_back(-x); s += -x; } } sort(neg.begin(), neg.end(), greater<>()); ll ans = 1e18; if (!pos.size()) { ll mx1 = neg[0], mx2 = neg[1]; ans = 2*s-(mx1+mx2); } else { ll pmx = *max_element(pos.begin(), pos.end()); if (!neg.size()) { ll pmn = *min_element(pos.begin(), pos.end()); ans = min(ans, pmx-pmn); cout << ans << '\n'; return 0; } ll mx1 = neg[0]; ans = min(ans, 2*s-mx1+pmx); if (neg.size() >= 2) { ll mx2 = neg[1]; ans = min(ans, 2*s-(mx1+mx2) + 2*pmx); } } cout << ans << '\n'; return 0; }