/*#include <stdio.h>
// Recursive
//void func(int k) {
// if(k==0) {
// return;
// }
// printf("HELLO\n");
// func(k-1);
//}
void func(int k) {
if(k==0) {
return;
}
func(k-1);
printf("%d\n", k);
}
int main()
{
func(5);
return 0;
}*/
/*#include <stdio.h>
void fun(int n) {
if (n==0)
{
return 1;
}
fun(n-1);
printf("%d\n",n);
}
int main()
{
int n;
scanf ("%d",&n);
fun(n);
return 0;
}*/
/*#include <stdio.h>
void fun(int n)
{
if (n==0)
{
return 1;
}
printf("%d\n",n);
fun(n-1);
}
int main()
{
int n;
scanf("%d",&n);
fun(n);
return 0;
}*/
/*#include <stdio.h>
void fun(int a, int b)
{
if (a>b)
{
return;
}
if (a%2!=0)
{
printf("%d ",a);
}
fun(a+1,b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
fun(a,b);
return 0;
}*/
/*#include <stdio.h>
int fun(int n)
{
if (n==0)
{
return 0;
}
return fun(n-1)+n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",fun(n));
return 0;
}*/
/*#include <stdio.h>
int fun(int n)
{
if (n==1)
{
return 1;
}
return fun(n-1)*n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",fun(n));
return 0;
}*/
/*#include <stdio.h>
int fun(int n)
{
if (n==1 || n==2)
{
return 1;
}
return fun(n-2)+fun(n-1);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",fun(n));
return 0; yeohajeong@gmail.com
}*/
/*#include<stdio.h>
int memo[1000] = {0};
int pibo(int k) {
if(k<=2) {
return memo[k] = 1;
}
if(memo[k]!=0) {
return memo[k];
}
return memo[k] = pibo(k-1)%10009 + pibo(k-2)%10009;
}
int main() {
int n;
scanf("%d", &n);
n = pibo(n);
printf("%d", n%10009);
return 0;
}
5
4*4
3*6
2*2
*/
#include <stdio.h>
int memo[100000]={0};
int fun(int n)
{
if (n<=3)
{
return memo[n]=1;
}
if (memo[n]!=0)
{
return memo[n];
}
return ;
}
int main()
{
int n;
scanf("%d",&n);
n=fun(n);
printf("%d",n%1000);
return 0;
}



