#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; #define rep(i, n) for (lint i = 0; i < n; i++) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define mp make_pair #define IP pair #define enld endl int main() { lint N, K; cin >> N >> K; lint ans = 0; if (N % 2 == 0 && K % 2 == 0) { if (K >= (N - 2) / 2) { ans = N / 2; } else { ans = K + 1; } } else if (N % 2 == 0 && K % 2 == 1) { if (K >= N / 2) { ans = N / 2; } else { ans = K + 1; } } else if (N % 2 == 1 && K % 2 == 0) { if (K >= N - 1) { ans = N; } else { ans = K + 1; } } else if (N % 2 == 1 && K % 2 == 1) { if (K >= N - 2) { ans = N - 1; } else { ans = K + 1; } } cout << ans << endl; }