import sys
from collections import deque
N, M = list ( map ( int , sys.stdin.readline().split()))
arr = [ 99 ] * 101 # 1๋ถํฐ 100๊น์ง์ ์นธ์ ์ ์ฅํ๋ ๋ฐฐ์ด, ๊ธฐ๋ณธ๊ฐ์ 99๋ก ์ค์
snakes = {} # ์ฌ๋ค๋ฆฌ์ ๋ฑ์ ์์น๋ฅผ ์ ์ฅํ๋ ๋์
๋๋ฆฌ
for _ in range (N + M):
a, b = list ( map ( int , sys.stdin.readline().split()))
snakes[a] = b # ์ฌ๋ค๋ฆฌ์ ๋ฑ์ ์์ ์์น๋ฅผ key๋ก, ๋ ์์น๋ฅผ value๋ก ์ ์ฅ
arr[ 1 ] = 0
dq = deque([ 1 ]) # ํ์ 1๋ฒ ์นธ์ ์ถ๊ฐ
while dq:
x = dq.pop() # ํ์์ ๊บผ๋ธ ์นธ
for i in range ( 1 , 7 ): # 1๋ถํฐ 6๊น์ง์ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ ์ด๋ํ ์ ์๋ ์นธ์ ํ์ธ
if x + i > 100 : # 100๋ฒ ์นธ์ ๋์ด๊ฐ๋ฉด ๋ฌด์
continue
elif x + i in snakes.keys(): # ์ฌ๋ค๋ฆฌ์ ๋ฑ์ ์์น๋ฅผ ํ์ธ
if arr[x] + 1 < arr[snakes[x + i]]: # ๊ฐ์ด ์
๋ฐ์ดํธ๋๋ ๊ฒฝ์ฐ
arr[snakes[x + i]] = arr[x] + 1
dq.append(snakes[x + i]) # ์
๋ฐ์ดํธ๋ ์นธ์ ํ์ ์ถ๊ฐ
else : # ์ฌ๋ค๋ฆฌ์ ๋ฑ์ ์์น๊ฐ ์๋ ๊ฒฝ์ฐ
if arr[x] + 1 < arr[x + i]: # ๊ฐ์ด ์
๋ฐ์ดํธ๋๋ ๊ฒฝ์ฐ
arr[x + i] = arr[x] + 1
dq.append(x + i) # ์
๋ฐ์ดํธ๋ ์นธ์ ํ์ ์ถ๊ฐ
print (arr[ - 1 ]) # ๋ง์ง๋ง ์นธ(100๋ฒ ์นธ)์ ์ฃผ์ฌ์ ๊ตด๋ฆฌ๊ธฐ ํ์๋ฅผ ์ถ๋ ฅ