#pragma warning(disable:4996)
#include<iostream>
#include<stdio.h>
#include<queue>
#include<string.h>
#include<set>
#include<map>
#include<string>
#include<stack>
#include<cmath>
#include<iomanip>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define INF 0x3f3f3f3f
#define LL long long
typedef pair<int, int> PII;
#define MP make_pair
#define pb push_back
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define FOR0(i,n) for(int i=0;i<n;i++)
#define FORL0(i,n) for(int i=n;i>=0;i--)
#define clr(x,a) memset(x,a,sizeof(x))
#define lson l,m,,rt<<1
#define rson m+1,r,rt<<1|1
void RD(int &x){ scanf("%d", &x); }
void RD(int &x, int &y){ scanf("%d%d", &x, &y); }
void RD(double &x){ scanf("%lf", &x); }
void RD(double &x, double &y){ scanf("%lf%lf",&x,&y); }
void RD(char &x){ scanf("%c", &x); }
void PR(int x){ printf("%d\n", x); }
void PR(LL x){ printf("%lld\n", x); }
void PRK(int x) { printf("%d ", x); }
void PL(){ puts(""); }
const int MAX_N = 105;
LL x, k;
int main()
{
//freopen("aaa.txt", "r", stdin);
//freopen("bbb.txt","w",stdout);
int cas = 1;
while (cin >> x>>k,k+x){
int ok = 0;
printf("Case #%d: ",cas++);
if (x == 1) {
cout << k << endl;
continue;
}
LL f=x;
LL i;
for (i = 1; i < k; i++){
if (x < i + 1) break;
x = x - x / (i + 1);
}
cout << x*k << endl;
}
//while (1);
return 0;
}