#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define endl '\n'
using vi = vector<int>;
using vll = vector<ll>;
using pqi = priority_queue<int>;
using pqll = priority_queue<ll>;
typedef pair<int, int> pii;
using vpii = vector<pii>;
const int MOD=998244353;
#define int ll//要开long long,完开了图方便直接全改了
signed main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int n;cin>>n;
    vi a(n);
    for (int i=0;i<n;i++) cin>>a[i];
    sort(a.begin(),a.end(),greater<int>());//因为要拿最大的堆,所以降序排
    int aka=0;
    int t=1;//轮数,用来给当轮可以拿的堆减去被小紫拿过的数量
    aka=a[0];//第一堆肯定小红拿了
    for (int i=1;i<n;i++) {//第一堆拿过了,从第二堆(a[1])开始
        if (a[i]>=t) aka+=a[i]-t;
        t++;
    }
    cout<<aka<<endl;
    return 0;
}