#include <bits/stdc++.h>
using namespace std;
const int OFFSET = 1020;
const int MAXN = 2050;
int di[8] = {-1,-1,0,0,2,2,3,3};
int dj[8] = {-1,1,-2,2,-2,2,-1,1};
int dx[]={1,-1,-2,2,-2,2,-1,1};
int dy[]={2,2,1,1,-1,-1,-2,-2};
int dd[MAXN][MAXN];
void push_node(queue<pair<int,int>> &q, int u, int v, int d) {
if (u < -1010 || v < -1010 || u > 1010 || v > 1010) return;
if (dd[u + OFFSET][v + OFFSET]) return;
dd[u + OFFSET][v + OFFSET] = d;
q.push({u, v});
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int mx, my, tx, ty, firstMove;
cin >> mx >> my >> tx >> ty >> firstMove;
queue<pair<int,int>> q;
// init
if (firstMove == 1) {
push_node(q, mx, my, 1);
} else {
for (int i = 0; i < 8; i++)
push_node(q, mx + dx[i], my + dy[i], 2);
}
// BFS
while (!q.empty()) {
auto [u, v] = q.front(); q.pop();
int d = dd[u + OFFSET][v + OFFSET];
for (int i = 0; i < 8; i++) {
int uu = u + di[i];
int vv = v + dj[i];
if (uu == tx && vv == ty) {
cout << "YES\n" << d << '\n';
return 0;
}
push_node(q, uu, vv, d + 1);
}
}
cout << "NO\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgT0ZGU0VUID0gMTAyMDsKY29uc3QgaW50IE1BWE4gPSAyMDUwOwoKaW50IGRpWzhdID0gey0xLC0xLDAsMCwyLDIsMywzfTsKaW50IGRqWzhdID0gey0xLDEsLTIsMiwtMiwyLC0xLDF9OwoKaW50IGR4W109ezEsLTEsLTIsMiwtMiwyLC0xLDF9OwppbnQgZHlbXT17MiwyLDEsMSwtMSwtMSwtMiwtMn07CgppbnQgZGRbTUFYTl1bTUFYTl07Cgp2b2lkIHB1c2hfbm9kZShxdWV1ZTxwYWlyPGludCxpbnQ+PiAmcSwgaW50IHUsIGludCB2LCBpbnQgZCkgewogICAgaWYgKHUgPCAtMTAxMCB8fCB2IDwgLTEwMTAgfHwgdSA+IDEwMTAgfHwgdiA+IDEwMTApIHJldHVybjsKICAgIGlmIChkZFt1ICsgT0ZGU0VUXVt2ICsgT0ZGU0VUXSkgcmV0dXJuOwoKICAgIGRkW3UgKyBPRkZTRVRdW3YgKyBPRkZTRVRdID0gZDsKICAgIHEucHVzaCh7dSwgdn0pOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG14LCBteSwgdHgsIHR5LCBmaXJzdE1vdmU7CiAgICBjaW4gPj4gbXggPj4gbXkgPj4gdHggPj4gdHkgPj4gZmlyc3RNb3ZlOwoKICAgIHF1ZXVlPHBhaXI8aW50LGludD4+IHE7CgogICAgLy8gaW5pdAogICAgaWYgKGZpcnN0TW92ZSA9PSAxKSB7CiAgICAgICAgcHVzaF9ub2RlKHEsIG14LCBteSwgMSk7CiAgICB9IGVsc2UgewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKQogICAgICAgICAgICBwdXNoX25vZGUocSwgbXggKyBkeFtpXSwgbXkgKyBkeVtpXSwgMik7CiAgICB9CgogICAgLy8gQkZTCiAgICB3aGlsZSAoIXEuZW1wdHkoKSkgewogICAgICAgIGF1dG8gW3UsIHZdID0gcS5mcm9udCgpOyBxLnBvcCgpOwogICAgICAgIGludCBkID0gZGRbdSArIE9GRlNFVF1bdiArIE9GRlNFVF07CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKSB7CiAgICAgICAgICAgIGludCB1dSA9IHUgKyBkaVtpXTsKICAgICAgICAgICAgaW50IHZ2ID0gdiArIGRqW2ldOwoKICAgICAgICAgICAgaWYgKHV1ID09IHR4ICYmIHZ2ID09IHR5KSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJZRVNcbiIgPDwgZCA8PCAnXG4nOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHB1c2hfbm9kZShxLCB1dSwgdnYsIGQgKyAxKTsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCAiTk9cbiI7Cn0K