#include <iostream>
#include <climits>
using namespace std;

int main() {
    long long l, n, m;
    cin >> l >> n >> m;
    long long s = n % l;       // 起始的i%l值
    long long t = m - s - 1;   // 循环中i的最大值

    if (t >= l - 1) {
        // 范围内包含l-1,下一个值0会触发非递增,最大值为l-1
        cout << l - 1 << endl;
    } else {
        if (t >= s) {
            // 范围在递增阶段内,最大值为t(i的最大值对应的i%l)
            cout << t << endl;
        } else {
            // 循环未执行,按原逻辑输出初始k(INT_MIN)
            cout << INT_MIN << endl;
        }
    }
    return 0;
}
/**************************************************************
	Problem: 2401
	User: zhengzihao
	Language: C++
	Result: Wrong Answer
****************************************************************/