#include class Int { public: long x; Int() { scanf("%ld", &x); } operator long() { return x; } }; void get(int& x) { scanf("%d", &x); } template T add(const T& x, const T& y) { return x + y; } template class Array { public: T* p; int size; int seek; Array(int N) { p = new T[N]; size = N; seek = 0; for(int i = 0; i < N; ++i) get(p[i]); } Array(int N, T x) { p = new T[N]; for(int i = 0; i < N; ++i) p[i] = x; size = N; seek = 0; } const T& operator() (int i) const { return p[i]; } }; template inline Array update(Array& xs, int i, const T& x) { Array res = xs; res.p[i] = x; xs.p = nullptr; return res; } template inline T foldl1(Array& xs, U f) { T res = xs(0); for(int i = 1; i < xs.size; ++i) { res = f(res, xs(i)); } return res; } int main() { Int N; Array A(N); Int v; int res = foldl1(A, add) - v; printf("%d\n", res); return 0; }