output_description: Print the value of
  ![](http://arc059.contest.atcoder.jp/img/arc/059/E_sigmaf.gif) modulo 10^9+7.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N C
      A_1 A_2 ... A_N
      B_1 B_2 ... B_N
attempt: for _ in range(test_case):
  import sys
  from itertools import accumulate
  readline = sys.stdin.readline
  MOD = 10**9+7
  
  N, C = map(int, readline().split())
  A = [0] + list(map(int, readline().split()))
  B = [0] + list(map(int, readline().split()))
  
  acsq = [list(accumulate([pow(i, j, MOD) for i in range(max(B)+1)])) for j in range(C+1)]
  dp = [[0]*(C+1) for _ in range(N+1)]
  dp[0][0] = 1
  for i in range(1, N+1):
      a, b = A[i], B[i]
      for c in range(C+1):
          res = 0
          for j in range(c+1):
              res = (res + (acsq[c-j][b] - acsq[c-j][a-1])*dp[i-1][j]) % MOD
          dp[i][c] = res
  print(dp[N][C])
problem_description: Statement
  
  **12:17 (UTC): The sample input 1 and 2 were swapped. The error is now fixed.
  We are very sorry for your inconvenience.**
  
  There are N children in AtCoder Kindergarten, conveniently numbered 1 through
  N. Mr. Evi will distribute C indistinguishable candies to the children.
  
  If child i is given a candies, the child's _happiness_ will become x_i^a,
  where x_i is the child's _excitement level_. The _activity level_ of the
  kindergarten is the **product** of the happiness of all the N children.
  
  For each possible way to distribute C candies to the children by giving zero
  or more candies to each child, calculate the activity level of the
  kindergarten. Then, calculate the sum over all possible way to distribute C
  candies. This sum can be seen as a function of the children's excitement
  levels x_1,..,x_N, thus we call it f(x_1,..,x_N).
  
  You are given integers A_i,B_i (1≦i≦N). Find
  ![](http://arc059.contest.atcoder.jp/img/arc/059/E_sigmaf.gif) modulo 10^9+7.
samples: [{"input": "2 3\n    1 1\n    1 1", "output": "4\n    \n\nThis case is included in the test set for the partial score, since A_i=B_i. We\nonly have to consider the sum of the activity level of the kindergarten where\nthe excitement level of both child 1 and child 2 are 1 (f(1,1)).\n\n  * If child 1 is given 0 candy, and child 2 is given 3 candies, the activity level of the kindergarten is 1^0*1^3=1.\n  * If child 1 is given 1 candy, and child 2 is given 2 candies, the activity level of the kindergarten is 1^1*1^2=1.\n  * If child 1 is given 2 candies, and child 2 is given 1 candy, the activity level of the kindergarten is 1^2*1^1=1.\n  * If child 1 is given 3 candies, and child 2 is given 0 candy, the activity level of the kindergarten is 1^3*1^0=1.\n\nThus, f(1,1)=1+1+1+1=4, and the sum over all f is also 4.\n\n* * *"}, {"input": "1 2\n    1\n    3", "output": "14\n    \n\nSince there is only one child, child 1's happiness itself will be the activity\nlevel of the kindergarten. Since the only possible way to distribute 2 candies\nis to give both candies to child 1, the activity level in this case will\nbecome the value of f.\n\n  * When the excitement level of child 1 is 1, f(1)=1^2=1.\n  * When the excitement level of child 1 is 2, f(2)=2^2=4.\n  * When the excitement level of child 1 is 3, f(3)=3^2=9.\n\nThus, the answer is 1+4+9=14.\n\n* * *"}, {"input": "2 3\n    1 1\n    2 2", "output": "66\n    \n\nSince it can be seen that f(1,1)=4 , f(1,2)=15 , f(2,1)=15 , f(2,2)=32, the\nanswer is 4+15+15+32=66.\n\n* * *"}, {"input": "4 8\n    3 1 4 1\n    3 1 4 1", "output": "421749\n    \n\nThis case is included in the test set for the partial score.\n\n* * *"}, {"input": "3 100\n    7 6 5\n    9 9 9", "output": "139123417"}]