import sys input = sys.stdin.readline from collections import deque N,M=map(int,input().split()) E=[[] for i in range(N+1)] for i in range(M): x,y=map(int,input().split()) E[x].append(y) E[y].append(x) L=int(input()) DP=[-1]*(N+1) LIST=[[] for i in range(1001)] for i in range(L): j,k=map(int,input().split()) LIST[k].append(j) DP[j]=k for i in range(1000,-1,-1): for x in LIST[i]: if DP[x]>i: continue for to in E[x]: if DP[to]OK[x]+1: OK[to]=OK[x]+1 Q.append(to) if OK[N]!=1<<30: print("Yes") print(OK[N]) else: print("No")