Problem:
Score : 300 points

Problem Statement

You are given N positive integers a_1, a_2, ..., a_N.

For a non-negative integer m, let f(m) = (m\ mod\ a_1) + (m\ mod\ a_2) + ... + (m\ mod\ a_N).

Here, X\ mod\ Y denotes the remainder of the division of X by Y.

Find the maximum value of f.

Constraints

All values in input are integers.

2 \leq N \leq 3000

2 \leq a_i \leq 10^5

Input

Input is given from Standard Input in the following format:

N
a_1 a_2 ... a_N

Output

Print the maximum value of f.

Sample Input 1

3
3 4 6

Sample Output 1

10

f(11) = (11\ mod\ 3) + (11\ mod\ 4) + (11\ mod\ 6) = 10 is the maximum value of f.

Sample Input 2

5
7 46 11 20 11

Sample Output 2

90

Sample Input 3

7
994 518 941 851 647 2 581

Sample Output 3

4527

Solution in C (Clang 10.0.0) (judge verdict: Accepted)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//0843-

int main(void) {
	int i;
	int N;
	int *a;
	long long int result;
	char buf[128], *ch;
	char *great_buf;

	fgets(buf, sizeof(buf), stdin);
	ch = strtok(buf, " ");
	N = atoi(ch);

	a = (int *)calloc(N, sizeof(int));
	great_buf = (char *)calloc(N * 8, sizeof(char));

	fgets(great_buf, N * 8, stdin);
	ch = strtok(great_buf, " ");
	a[0] = atoi(ch);
	for(i = 1; i < N; i += 1) {
		ch = strtok(NULL, " ");
		a[i] = atoi(ch);
	}
	free(great_buf);
	result = 0;
	for(i = 0; i < N; i += 1) {
		result += (a[i] - 1);
	}
	free(a);
	printf("%lld\n", result);

	return 0;
}