#include using namespace std; // ------------------------------------- long X1, Y1, X2, Y2, D; long Z; inline long tri1(long n) { long k = (D - n); if (k >= 0) return k * k; return 0; } inline long f1(long n) { if (n >= 0) return tri1(n); else return Z - tri1(-n - 1); } inline long tri2(long n, long m) { long k = D - n - m - 1; if (k >= 0) return (k + 1) * k / 2; else return 0; } inline long f2(long n, long m) { if (n >= 0 && m >= 0) return tri2(n, m); if (n < 0 && m < 0) return Z - tri1(-n - 1) - tri1(-m - 1) + tri2(-n - 1, -m - 1); if (n < 0) return tri1(m) - tri2(-n - 1, m); else return tri1(n) - tri2(n, -m - 1); } int main() { cin.tie(0); ios::sync_with_stdio(false); cin >> X1 >> Y1 >> X2 >> Y2 >> D; Z = 2 * D * D + 2 * D + 1; long r = f1(X2); long t = f1(Y2); long l = f1(-X1); long b = f1(-Y1); long rt = f2(X2, Y2); long lt = f2(-X1, Y2); long lb = f2(-X1, -Y1); long rb = f2(X2, -Y1); cout << Z - r - t - l - b + rt + lt + lb + rb << "\n"; return 0; }