//codeforces.com/problemset/problem/455/A
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double lld;
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template<class T> using ordered_set =tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;
// ordered_set.find_by_order(k) returns the iterator to kth element
// ordered_set.order_of_key(k) returns the number of elements strictly less than k
(FOR ORDERED MULTISET "UPPER_BOUND" AND "LOWER_BOUND" ARE REVERSED)
template<class T> using ordered_multiset =tree<T, null_type, less_equal<T>, rb_tree_tag,tree_order_statistics_node_update>;
// ordered_set.find_by_order(k) returns the iterator to kth element
// ordered_set.order_of_key(k) returns the number of elements strictly less than k
*/
#ifdef LOCALIO
#define dbg(...) cerr<< __VA_ARGS__;
#define dbgl(...) cerr<< __VA_ARGS__<<nl;
#else
#define dbg(...) ;
#define dbgl(...) ;
#endif
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
#define all(x) x.begin(),x.end()
#define nl '\n'
#define mp(x,y) make_pair(x,y)
#define ff first
#define ss second
#define pb(x) push_back(x)
#define sz(x) (int)x.size()
#define szl(x) (long long)x.size()
// const int mod = 998244353;
const int mod = 1e9+7;
void solve()
{
int n; cin>>n;
int arr[n]; for(auto &i:arr) cin>>i;
int freq[100001] = {0};
for(auto i:arr) freq[i]++;
ll dp[100001][2];
dp[1][0] = 0;
dp[1][1] = freq[1];
for(int i=2; i<=100000; ++i)
{
dp[i][1] = dp[i-1][0] + 1LL*i*freq[i];
dp[i][0] = max(dp[i-1][1],dp[i-1][0]);
}
cout<<max(dp[100000][1],dp[100000][0])<<nl;
}
signed main() {
fastio;
#ifdef LOCALIO
freopen("error.txt", "w", stderr);
#endif
int t=1;
// cin>>t;
while(t--)
{
solve();
}
}
Ly9jb2RlZm9yY2VzLmNvbS9wcm9ibGVtc2V0L3Byb2JsZW0vNDU1L0EgCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1bGw7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGxkOwovKgojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKCnRlbXBsYXRlPGNsYXNzIFQ+IHVzaW5nIG9yZGVyZWRfc2V0ID10cmVlPFQsIG51bGxfdHlwZSwgbGVzczxUPiwgcmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKLy8gb3JkZXJlZF9zZXQuZmluZF9ieV9vcmRlcihrKSByZXR1cm5zIHRoZSBpdGVyYXRvciB0byBrdGggZWxlbWVudAovLyBvcmRlcmVkX3NldC5vcmRlcl9vZl9rZXkoaykgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHN0cmljdGx5IGxlc3MgdGhhbiBrIAoKKEZPUiBPUkRFUkVEIE1VTFRJU0VUICJVUFBFUl9CT1VORCIgQU5EICJMT1dFUl9CT1VORCIgQVJFIFJFVkVSU0VEKQp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBvcmRlcmVkX211bHRpc2V0ID10cmVlPFQsIG51bGxfdHlwZSwgbGVzc19lcXVhbDxUPiwgcmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKLy8gb3JkZXJlZF9zZXQuZmluZF9ieV9vcmRlcihrKSByZXR1cm5zIHRoZSBpdGVyYXRvciB0byBrdGggZWxlbWVudAovLyBvcmRlcmVkX3NldC5vcmRlcl9vZl9rZXkoaykgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHN0cmljdGx5IGxlc3MgdGhhbiBrIAoqLwojaWZkZWYgTE9DQUxJTwogICAgI2RlZmluZSBkYmcoLi4uKSBjZXJyPDwgX19WQV9BUkdTX187CiAgICAjZGVmaW5lIGRiZ2woLi4uKSBjZXJyPDwgX19WQV9BUkdTX188PG5sOwojZWxzZQogICAgI2RlZmluZSBkYmcoLi4uKSA7CiAgICAjZGVmaW5lIGRiZ2woLi4uKSA7CiNlbmRpZgojZGVmaW5lIGZhc3RpbyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOwojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCkseC5lbmQoKQojZGVmaW5lIG5sICdcbicKI2RlZmluZSBtcCh4LHkpIG1ha2VfcGFpcih4LHkpCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKI2RlZmluZSBwYih4KSBwdXNoX2JhY2soeCkKI2RlZmluZSBzeih4KSAoaW50KXguc2l6ZSgpCiNkZWZpbmUgc3psKHgpIChsb25nIGxvbmcpeC5zaXplKCkKCi8vIGNvbnN0IGludCBtb2QgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBtb2QgPSAxZTkrNzsKCgoKdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuOyBjaW4+Pm47CiAgICBpbnQgYXJyW25dOyBmb3IoYXV0byAmaTphcnIpIGNpbj4+aTsKCiAgICBpbnQgZnJlcVsxMDAwMDFdID0gezB9OwoKICAgIGZvcihhdXRvIGk6YXJyKSBmcmVxW2ldKys7CgogICAgbGwgZHBbMTAwMDAxXVsyXTsKCiAgICBkcFsxXVswXSA9IDA7CiAgICBkcFsxXVsxXSA9IGZyZXFbMV07CgogICAgZm9yKGludCBpPTI7IGk8PTEwMDAwMDsgKytpKQogICAgewogICAgICAgIGRwW2ldWzFdID0gZHBbaS0xXVswXSArIDFMTCppKmZyZXFbaV07CgogICAgICAgIGRwW2ldWzBdID0gbWF4KGRwW2ktMV1bMV0sZHBbaS0xXVswXSk7CiAgICB9CgogICAgY291dDw8bWF4KGRwWzEwMDAwMF1bMV0sZHBbMTAwMDAwXVswXSk8PG5sOwoKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBmYXN0aW87CiAgICAjaWZkZWYgTE9DQUxJTwogICAgICAgIGZyZW9wZW4oImVycm9yLnR4dCIsICJ3Iiwgc3RkZXJyKTsKICAgICNlbmRpZgogICAgaW50IHQ9MTsKICAgIC8vIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQp9