#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define vll vector<long long >

// void fun(){
//   ll x,y,n;
//   cin>>x>>y>>n;
//
//   ll r=n%x;
//   ll q=n/x;
//
// if(r==y){
// cout<<n<<endl;return;
// }
//   if(y>r){
//     ll ans=q*x;
//     ans=ans-(x-y);
//     cout<<ans<<endl;return;
//   }
//   if(r>y){
//       ll ans;
//       ans=n-(r-y);
//       cout<<ans<<endl;
//   }
//
//
// }
//
//
//
// void solve(){
//   ll n;
//   cin>>n;
//   int th=0,tw=0;
//   ll m=n;
//   ll k=n;
//
//   while(k%3==0)k/=3;
//   while(k%2==0)k/=2;
//   if(k!=1){
//     cout<<"-1\n";return;
//   }
//   while(m%3==0){th++;m/=3;}
//   m=n;
//   while(m%2==0){tw++;m/=2;}
//   if(tw>th){
//     cout<<"-1\n";return;
//   }
//   ll ans=th+(th-tw);
//
//   cout<<ans<<endl;
// }
//
//
// void solveit(){
//   ll a,b,n,m;
//   cin>>a>>b>>n>>m;
//   if(a>b){
//     n=n-(a-b);
//     a=b;
//     if(n<0){
//       a=a-n;
//     }
//     if(a>b)
//   }
//   else{
//     n=n-(b-a);
//     b=a;
//     if(n<0){
//       b=b-n;
//     }
//   }
//
//   if((n+m)<=(a+b)){
//     cout<<"Yes\n";
//
//   }
//   else cout<<"No\n";
//
//
//
// }





// void Aprob(){
// ll n;
// cin>>n;
// ll ans=0;
// ll arr[n];
// for(int i=0;i<n;i++)cin>>arr[i];
// for(int i=1;i<n;i++){
//   ll f=min(arr[i],arr[i-1]);
//   ll s=max(arr[i],arr[i-1]);
//   ans+=s-f-1;
// }
// cout<<ans<<endl;
// }
//
//
// ll sum(ll n){
//   ll val=0;
//   while(n){
//     val+=(n%10);
//     n/=10;
//   }
//   return val;
// }
// void Bprob(){
//   ll n;
//   cin>>n;
//   ll c=0,m=0;
//   while(n--){
//     ll a,b;
//     cin>>a>>b;
//     ll csum=sum(a);
//     ll msum=sum(b);
//     if(csum>msum)c++;
//     else if(msum>csum)m++;
//     else {c++;m++;}
//   }
//   if(c>m){
//     cout<<"0 "<<c<<"\n";
//   }
//   else if(m>c){
//     cout<<"1 "<<m<<"\n";
//   }
//   else {
//     cout<<"2 "<<c<<endl;
//   }
// }
// void Cprob(){
//   int k;
//   cin>>k;
//   vector<vector<char>>v (8,vector<char>(8,'X'));
//
//   int c=1;
//   for(int i=0;i<8;i++){
//     for(int j=0;j<8;j++){
//       if(c>k){break;}
//       v[i][j]='.';c++;
//     }
//     if(c>k)break;
//   }
//   v[0][0]='O';
//   for(int i=0;i<8;i++){
//     for(int j=0;j<8;j++){
//       cout<<v[i][j];
//     }
//     cout<<endl;
//   }
//   cout<<endl;
// }


// void Dprob(){
//
// }

void abc(){
  ll n;
  cin>>n;
  ll arr[n];
  for(int i=0;i<n;i++){
    cin>>arr[i];
  }
  if(n==1){
    cout<<"0\n";return;
  }

  sort(arr,arr+n);
  ll ans=arr[n-1];
ll dp [n]={0};
dp[n-2]=dp[n-1];
int j=n-3;
int p=n-2;
while(j>=0){
  dp[j]=arr[p];
  j--;
  if(j<0){break;}
  dp[j]=arr[p];
  j--;
  p--;
}
for(int i=0;i<n;i++){
  ans+=dp[i];
}
cout<<ans<<endl;


}



void abcb(){
  int n;
  cin>>n;
  if(n<=1000){cout<<(1000-n)<<endl;return;}
  if(n%1000==0)
  {
    cout<<"0\n";return;
  }
int ans=((n/1000)+1)*1000;
cout<<(ans-n)<<endl;


  //
  // ll m=(n/1000)*1000;
  // ll ans=n-m;
  // m+=1000;
  // ans=min(ans,m-n);
  // cout<<(ans)<<endl;
}


int main(){
 //  #ifndef ONLINE_JUDGE
 // freopen("inp.txt","r",stdin);
 // freopen("out.txt","w",stdout);
 // #endif
  int t=1;
  // cin>>t;
  while(t--){
    abcb();
  }
  return 0;
}


Measured memory_bytes: 3640