#include <iostream>
using namespace std;
int min_dist = 1e9;
int n;
int visited[5];
int wh[5][4];
void fun(int s_x, int s_y, int d_x, int d_y, int distance)
{
min_dist = min(min_dist, distance+abs(s_x-d_x)+abs(s_y-d_y));
cout << "min dist at this point is " << min_dist << endl;
for(int i=0; i<n; i++)
{
if(visited[i]==0)
{
cout << "Wormhole " << i << " visited" << endl;
cout << wh[i][0] << " " << wh[i][1] << " " << wh[i][2] << " " << wh[i][3] << " " << wh[i][4] << endl;
visited[i]=1;
int tmp = abs(s_x-wh[i][0])+abs(s_y-wh[i][1])+wh[i][4]+distance;
fun(wh[i][2], wh[i][3], d_x, d_y, tmp);
tmp = abs(s_x-wh[i][2])+abs(s_y-wh[i][3])+wh[i][4]+distance;
fun(wh[i][0], wh[i][1], d_x, d_y, tmp);
visited[i] = 0;
cout << "Wormhole " << i << " UN visited" << endl;
}
}
}
int main()
{
int s_x, s_y, d_x, d_y;
//int n;
cin >> s_x >> s_y >> d_x >> d_y >> n;
//int wh[n][5];
//int visited[n];
min_dist = 1e9;
int a;
for(int i=0; i<n; i++){
for(int j=0; j<5; j++){
cin >> a;
wh[i][j] = a;
}
}
for(int i=0; i<n; i++)
visited[i] = 0;
cout << s_x << " " << s_y << " " << d_x << " " << d_y << " " << n <<endl;
fun(s_x, s_y, d_x, d_y, 0);
cout << min_dist;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWluX2Rpc3QgPSAxZTk7CmludCBuOwppbnQgdmlzaXRlZFs1XTsKaW50IHdoWzVdWzRdOwoKdm9pZCBmdW4oaW50IHNfeCwgaW50IHNfeSwgaW50IGRfeCwgaW50IGRfeSwgaW50IGRpc3RhbmNlKQp7CiAgICAKCW1pbl9kaXN0ID0gbWluKG1pbl9kaXN0LCBkaXN0YW5jZSthYnMoc194LWRfeCkrYWJzKHNfeS1kX3kpKTsKCWNvdXQgPDwgIm1pbiBkaXN0IGF0IHRoaXMgcG9pbnQgaXMgIiA8PCBtaW5fZGlzdCA8PCBlbmRsOwoJCgoJZm9yKGludCBpPTA7IGk8bjsgaSsrKQoJewoJCWlmKHZpc2l0ZWRbaV09PTApCgkJewoJCSAgICBjb3V0IDw8ICJXb3JtaG9sZSAiIDw8IGkgPDwgIiB2aXNpdGVkIiA8PCBlbmRsOwoJCSAgICBjb3V0IDw8IHdoW2ldWzBdIDw8ICIgIiA8PCB3aFtpXVsxXSA8PCAiICIgPDwgd2hbaV1bMl0gPDwgIiAiIDw8IHdoW2ldWzNdIDw8ICIgIiA8PCB3aFtpXVs0XSA8PCBlbmRsOwoJCQl2aXNpdGVkW2ldPTE7CgkJCWludCB0bXAgPSBhYnMoc194LXdoW2ldWzBdKSthYnMoc195LXdoW2ldWzFdKSt3aFtpXVs0XStkaXN0YW5jZTsKCQkJZnVuKHdoW2ldWzJdLCB3aFtpXVszXSwgZF94LCBkX3ksIHRtcCk7CgkJCXRtcCA9IGFicyhzX3gtd2hbaV1bMl0pK2FicyhzX3ktd2hbaV1bM10pK3doW2ldWzRdK2Rpc3RhbmNlOwoJCQlmdW4od2hbaV1bMF0sIHdoW2ldWzFdLCBkX3gsIGRfeSwgdG1wKTsKCQkJdmlzaXRlZFtpXSA9IDA7CgkJCWNvdXQgPDwgIldvcm1ob2xlICIgPDwgaSA8PCAiIFVOIHZpc2l0ZWQiIDw8IGVuZGw7CgkJfQoJfQp9CgoKaW50IG1haW4oKQp7CglpbnQgc194LCBzX3ksIGRfeCwgZF95OwoJLy9pbnQgbjsKCWNpbiA+PiBzX3ggPj4gc195ID4+IGRfeCA+PiBkX3kgPj4gbjsKCS8vaW50IHdoW25dWzVdOwoJLy9pbnQgdmlzaXRlZFtuXTsKCW1pbl9kaXN0ID0gMWU5OwoJaW50IGE7Cglmb3IoaW50IGk9MDsgaTxuOyBpKyspewoJCWZvcihpbnQgaj0wOyBqPDU7IGorKyl7CgkJCWNpbiA+PiBhOwoJCQl3aFtpXVtqXSA9IGE7CgkJfQoJfQoKCWZvcihpbnQgaT0wOyBpPG47IGkrKykKCQl2aXNpdGVkW2ldID0gMDsKCiAgICBjb3V0IDw8IHNfeCA8PCAiICIgPDwgc195IDw8ICIgIiA8PCAgZF94IDw8ICIgIiA8PCBkX3kgPDwgIiAiIDw8IG4gPDxlbmRsOwoJZnVuKHNfeCwgc195LCBkX3gsIGRfeSwgMCk7CgoJY291dCA8PCBtaW5fZGlzdDsKCglyZXR1cm4gMDsKfQ==