#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <set>

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,j) FOR(i,0,j)
#define mp std::make_pair

const int INF = 1 << 24;
const int dx[8] = {0, 0, 1, -1, 1, 1, -1, -1}, dy[8] = {1, -1, 0, 0, 1, -1, 1, -1};

typedef unsigned long long ull;
typedef std::pair<int,int> P;

int main(){
    ull memo[2001];

    REP(i, 2001){
        memo[i] = 0;
    }

    REP(i, 1001){
        REP(j, 1001){
            memo[i+j]++;
        }
    }

    int N;
    while(std::cin >> N, !std::cin.eof()){
        ull res = 0;
        REP(i, std::min(2001, N+1)){
            if(0 <= i && i <= 2000 && 0 <= N-i && N-i <= 2000){
                res += memo[i] * memo[N-i];
            }
        }

        std::cout << res << std::endl;
    }
}