int solve(int n) {
    n = abs(n);
    int l = -1, r = sqrt(n) + 10;
    while (l + 1 < r) {
        int m = (l + r) >> 1;
        if (m * (m + 1) / 2 >= n) r = m;
        else l = m;
    }

    int x = r * (r + 1) / 2;
    if ((x % 2) == (n % 2)) return r;
    if (r % 2) return r + 2;
    return r + 1;
}