P1057

回家的路

回家的路

在一个 n×nn\times n 的网格交通网络中有 mm 个换乘站。你可以沿横向或纵向双向行进,每移动一个坐标单位需要 22 分钟。

行进方向只能在换乘站由横向改为纵向,或由纵向改为横向,每次换向需要额外 11 分钟。出发时可以直接选择横向或纵向,到达终点时不需要额外换向。

给定所有换乘站的坐标以及起点 (x1,y1)(x_1,y_1)、终点 (x2,y2)(x_2,y_2),求从起点到终点所需的最短时间。

输入格式

第一行包含两个整数 n,mn,m。

接下来 mm 行,每行包含两个整数 x,yx,y,表示一个换乘站的坐标。

最后一行包含四个整数 x1,y1,x2,y2x_1,y_1,x_2,y_2,依次表示起点和终点的坐标。

输出格式

输出一个整数,表示从起点到终点所需的最短时间。如果无法到达终点,输出 −1-1。

样例输入

2 1
1 2
1 1 2 2

样例输出

5

数据范围

  • 1≤n≤2×1041\le n\le 2\times 10^4;
  • 0≤m≤1050\le m\le 10^5;
  • 所有坐标均在网格范围内。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

2 1
1 2
1 1 2 2

输出

5