#include int powers[31]; int num=0; int main() { int a, ba, best, cnt1, cnt2, cnt3, dist, dist2, i, j, k, na, nb, x, y, t; while (scanf("%d %d %d", &k, &x, &y) != EOF) { x--; y--; powers[0] = 1; for (i=1; i<=k; i++) powers[i] = powers[i-1]*2; a = x; cnt1 = 0; while (a != y) { best = powers[k]; for (i=0; i powers[k]-dist) dist = powers[k]-dist; if (dist < best) { best = dist; ba = na; } nb = (a + powers[i])%powers[k]; dist = (y-nb+powers[k])%powers[k]; if (dist > powers[k]-dist) dist = powers[k]-dist; if (dist < best) { best = dist; ba = nb; } } a = ba; cnt3++; } printf("%d\n", cnt3); } return 0; }