//IN THE NAMME OF GOD

#include <bits/stdc++.h>
using namespace std;
vector < pair < double , int > > v;
const int maxn=1e6;
int del=10513;
double sum[maxn+10];
void qqsort(int l,int r){
    if(r<=l)
        return ;
    int p=l;
    for(int i=l+1;i<=r;i++){
        if(v[i].first>v[p].first || (v[i].first==v[p].first && v[i].second<v[p].second)){
            swap(v[i].first,v[p+1].first);
            swap(v[p].first,v[p+1].first);
            swap(v[i].second,v[p+1].second);
            swap(v[p].second,v[p+1].second);
            p++;
        }
    }
    qqsort(l,p-1);
    qqsort(p+1,r);
}
int main(){
    for(int i=1;i<=maxn;i++){
        for(int j=i+i;j<=maxn;j+=i)
            sum[j]+=i;
        if(sum[i]>=i){
            v.push_back(make_pair(double(sum[i]/i),i));
        }
    }
    qqsort(0,v.size()-1);
    int V=v[12].second;
    V%=del;
    int t=V*V;t%=del;
    V*=t;V%=del;
    cout<<(V+t)%del<<endl;
    return 0;
}