output_description: If Ken cannot reach Vertex T from Vertex S by repeating ken-ken-pa, print -1.
  If he can, print the minimum number of ken-ken-pa needed to reach vertex T.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      u_1 v_1
      :
      u_M v_M
      S T
attempt: N, K = map(int, input().split())
  mod = 10**9 + 7
  Layer = []
  a = 1
  b = 1
  while b <= N:
      a = b
      b = N // (N // a) + 1
      Layer.append((a, b))
  # print(Layer)
  num = [x[1] - x[0] for x in Layer]
  M = len(Layer)
  # print(num)
  dp = [[0 for j in range(M + 1)] for i in range(K + 1)]
  dp[0][0] = 1
  sdp = [0 for i in range(M + 2)]
  for k in range(K):
      for j in range(M + 1):
          sdp[j + 1] = (dp[k][j] + sdp[j]) % mod
      for j in range(M):
          dp[k + 1][j] = (sdp[M - j] * num[j]) % mod
  ans = 0
  for j in range(M + 1):
      ans += dp[K][j]
      ans %= mod
  print(ans)
  
problem_description: Statement
  
  Ken loves _ken-ken-pa_ (Japanese version of hopscotch). Today, he will play it
  on a directed graph G. G consists of N vertices numbered 1 to N, and M edges.
  The i-th edge points from Vertex u_i to Vertex v_i.
  
  First, Ken stands on Vertex S. He wants to reach Vertex T by repeating ken-
  ken-pa. In one ken-ken-pa, he does the following exactly three times: follow
  an edge pointing from the vertex on which he is standing.
  
  Determine if he can reach Vertex T by repeating ken-ken-pa. If the answer is
  yes, find the minimum number of ken-ken-pa needed to reach Vertex T. Note that
  visiting Vertex T in the middle of a ken-ken-pa does not count as reaching
  Vertex T by repeating ken-ken-pa.
samples: [{"input": "4 4\n    1 2\n    2 3\n    3 4\n    4 1\n    1 3", "output": "2\n    \n\nKen can reach Vertex 3 from Vertex 1 in two ken-ken-pa, as follows: 1\n\\rightarrow 2 \\rightarrow 3 \\rightarrow 4 in the first ken-ken-pa, then 4\n\\rightarrow 1 \\rightarrow 2 \\rightarrow 3 in the second ken-ken-pa. This is\nthe minimum number of ken-ken-pa needed.\n\n* * *"}, {"input": "3 3\n    1 2\n    2 3\n    3 1\n    1 2", "output": "-1\n    \n\nAny number of ken-ken-pa will bring Ken back to Vertex 1, so he cannot reach\nVertex 2, though he can pass through it in the middle of a ken-ken-pa.\n\n* * *"}, {"input": "2 0\n    1 2", "output": "-1\n    \n\nVertex S and Vertex T may be disconnected.\n\n* * *"}, {"input": "6 8\n    1 2\n    2 3\n    3 4\n    4 5\n    5 1\n    1 4\n    1 5\n    4 6\n    1 6", "output": "2"}]