
#include<iostream>
using namespace std;
typedef long long ll;
ll cacu_fun1(ll num) {
if (num>0) {
if (num<=3) {
return 1;
}
return (cacu_fun1(num - 1) + cacu_fun1(num - 2) + cacu_fun1(num - 3))%10000;
}
return 0;
}
ll dp[20190324];
ll cacu_fun2(ll num) {
for (int i = 0; i < num;i++) {
if (i>=3) {
dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3])%10000;
}
else {
dp[i] = 1;
}
}
return dp[num - 1];
}
int main() {
//cout << cacu_fun1(20190324)<<endl;//由于数字过大超出stack内存范围,
//无法使用,且调用函数运算效率差
cout << cacu_fun2(20190324);
return 0;
}