#include <iostream>
using namespace std;
// Josephus Problem
int josephusRecursion(int n,int k) {
if(n==1)
return 1;
return (josephusRecursion(n-1,k)+k-1)%n+1;
}
int josephusIteration(int n,int k) {
/*int a=0;
for(int i=2;i<=n;i++) {
a=(a+k)%i+1;
cout<<a<<endl;
}
return a+1;*/
int a = 0;
for(int i=1;i<n;i++) {
a = (a+k)%(i+1)+1;
}
return a;
}
int main() {
// your code goes here
int n,k;
cin>>n>>k;
cout<<"Josephus result : "<<josephusRecursion(n,k)<<endl;
cout<<"Josephus result : "<<josephusIteration(n,k)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovLyBKb3NlcGh1cyBQcm9ibGVtCgppbnQgam9zZXBodXNSZWN1cnNpb24oaW50IG4saW50IGspIHsKCWlmKG49PTEpCgkJcmV0dXJuIDE7CglyZXR1cm4gKGpvc2VwaHVzUmVjdXJzaW9uKG4tMSxrKStrLTEpJW4rMTsKfQoKaW50IGpvc2VwaHVzSXRlcmF0aW9uKGludCBuLGludCBrKSB7CgkvKmludCBhPTA7Cglmb3IoaW50IGk9MjtpPD1uO2krKykgewoJCWE9KGErayklaSsxOwoJCWNvdXQ8PGE8PGVuZGw7Cgl9CglyZXR1cm4gYSsxOyovCglpbnQgYSA9IDA7Cglmb3IoaW50IGk9MTtpPG47aSsrKSB7CgkJYSA9IChhK2spJShpKzEpKzE7Cgl9CglyZXR1cm4gYTsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbixrOwoJY2luPj5uPj5rOwoJY291dDw8Ikpvc2VwaHVzIHJlc3VsdCA6ICI8PGpvc2VwaHVzUmVjdXJzaW9uKG4sayk8PGVuZGw7Cgljb3V0PDwiSm9zZXBodXMgcmVzdWx0IDogIjw8am9zZXBodXNJdGVyYXRpb24obixrKTw8ZW5kbDsKCXJldHVybiAwOwp9