#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long n, i, j;
cin >> n >> i >> j;
// 圈数:格子 (i,j) 离矩阵边界有多远
long long k = min(min(i - 1, j - 1), min(n - i, n - j));
// 这一圈的边长
long long m = n - 2 * k;
// 这一圈的第一个数(前面的圈一共填了 n^2 - m^2 个格子)
long long base = n * n - m * m + 1;
// 圈内本地坐标(1 起)
long long x = j - k, y = i - k;
long long offset;
if (y == 1) {
offset = x - 1; // 上边:从左往右
} else if (x == m) {
offset = m + y - 2; // 右边:从上往下
} else if (y == m) {
offset = 3 * m - x - 2; // 下边:从右往左
} else {
offset = 4 * m - y - 3; // 左边:从下往上
}
cout << base + offset << '\n';
return 0;
}