Морж Александр находится в океане в точке (x_A,y_A). Льдин вокруг него полно. Он хочет добраться до точки (x_B,y_B) за минимальное количество прыжков. Александр может прыгать максимум на две клетки в одном из четырёх направлений. Если он находится в точке (x,y), то за один прыжок он может попасть в одну из следующих клеток: (x+1,y), (x-1,y), (x,y+1), (x,y-1), (x+2,y), (x-2,y), (x,y+2), (x,y-2). Александр будет прыгать в клетку только если она находится на льдине. Гарантируется, что точки (x_A,y_A) и (x_B,y_B) находятся на льдинах.
В первой строке даётся четыре целых числа – координаты точек (x_A,y_A) и (x_B,y_B) (1 ≤ x_i,y_i ≤ 10^9). Координаты льдин будут задаваться отрезками. Во второй строке идёт количество этих отрезков n (1 ≤ n ≤ 10^5). Каждая из следующих n строк содержит три целых числа: x (1 ≤ x ≤ 10^9), y_L и y_R (1 ≤ y_L≤y_R ≤ 10^9). Это значит, что клетки с координатами (x, y_i) (y_{L }≤ y_{i }≤ y_R) находятся на льдинах. Общее количество таких клеток не превысит 10^5.
Минимальное количество прыжков, за которое Александр доберётся из точки (x_A,y_A) в точку (x_B,y_B), или -1, если этого сделать нельзя.