#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <math.h>
#include <map>
using namespace std;
#define vi vector<int>
#define vii vector<vi>
#define pi pair<int,int>
#define vpi vector<pi>
#define rep(i,n) for(int i=0;i<n;i++)
#define debug(x) cout<<">"<<#x<<" : "<<x;
#define INF 10000
#define pc pair<int,char>
int dp[5002][5002];
int solve(int n, int k){
if(n<0||k==0)return 0;
if(n==0)return 1;
if(dp[n][k]!=-1)return dp[n][k];
return (dp[n][k]=(solve(n-k,k)%1988+solve(n,k-1)%1988)%1988);
}
int main() {
int n,k;
while(1){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>k;
if(n==0 && k==0)break;
/* rep(i,n-k+1)
rep(j,k+1)
dp[i][j]=-1;
// if(k==n)cout<<"1\n";
*/
rep(i,k+5)
dp[0][i]=1;
rep(i,n-k+5)
dp[i][0]=0;
for(int i=1;i<k+1;i++){
for(int j=1;j<n-k+1;j++){
if(j-i>=0)dp[j][i]=(dp[j-i][i]+dp[j][i-1])%1988;
else dp[j][i]=dp[j][i-1];
}
}
cout<<dp[n-k][k]<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHZpaSB2ZWN0b3I8dmk+CiNkZWZpbmUgcGkgcGFpcjxpbnQsaW50PgojZGVmaW5lIHZwaSB2ZWN0b3I8cGk+CiNkZWZpbmUgcmVwKGksbikgZm9yKGludCBpPTA7aTxuO2krKykKI2RlZmluZSBkZWJ1Zyh4KSBjb3V0PDwiPiI8PCN4PDwiIDogIjw8eDsKI2RlZmluZSBJTkYgMTAwMDAKI2RlZmluZSBwYyBwYWlyPGludCxjaGFyPgoKaW50IGRwWzUwMDJdWzUwMDJdOwoKaW50IHNvbHZlKGludCBuLCBpbnQgayl7CglpZihuPDB8fGs9PTApcmV0dXJuIDA7CglpZihuPT0wKXJldHVybiAxOwoJCglpZihkcFtuXVtrXSE9LTEpcmV0dXJuIGRwW25dW2tdOwoJCglyZXR1cm4gKGRwW25dW2tdPShzb2x2ZShuLWssayklMTk4OCtzb2x2ZShuLGstMSklMTk4OCklMTk4OCk7Cn0KaW50IG1haW4oKSB7CglpbnQgbixrOwoJd2hpbGUoMSl7CgkJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgkJY2luLnRpZShOVUxMKTsKCQljaW4+Pm4+Pms7CgkJaWYobj09MCAmJiBrPT0wKWJyZWFrOwoJLyoJcmVwKGksbi1rKzEpCgkJCXJlcChqLGsrMSkKCQkJCWRwW2ldW2pdPS0xOwoJLy8JaWYoaz09biljb3V0PDwiMVxuIjsKCSovCgkJcmVwKGksays1KQoJCQlkcFswXVtpXT0xOwoJCXJlcChpLG4tays1KQoJCQlkcFtpXVswXT0wOwoJCWZvcihpbnQgaT0xO2k8aysxO2krKyl7CgkJCWZvcihpbnQgaj0xO2o8bi1rKzE7aisrKXsKCQkJCWlmKGotaT49MClkcFtqXVtpXT0oZHBbai1pXVtpXStkcFtqXVtpLTFdKSUxOTg4OwoJCQkJZWxzZSBkcFtqXVtpXT1kcFtqXVtpLTFdOwoJCQl9CgkJfQkKCQljb3V0PDxkcFtuLWtdW2tdPDwiXG4iOwoJfQoJcmV0dXJuIDA7Cn0=