#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;
}