E. Another Filling the Gridtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou have n \times n square grid and an integer k. Put an integer in each cell while satisfying the conditions below.  All numbers in the grid should be between 1 and k inclusive.  Minimum number of the i-th row is 1 (1 \le i \le n).  Minimum number of the j-th column is 1 (1 \le j \le n). Find the number of ways to put integers in the grid. Since the answer can be very large, find the answer modulo (10^{9} + 7).  These are the examples of valid and invalid grid when n=k=2. InputThe only line contains two integers n and k (1 \le n \le 250, 1 \le k \le 10^{9}).OutputPrint the answer modulo (10^{9} + 7).ExamplesInput
2 2
Output
7
Input
123 456789
Output
689974806
NoteIn the first example, following 7 cases are possible.  In the second example, make sure you print the answer modulo (10^{9} + 7).
2 2

7 
['combinatorics', 'dp', 'math', '*2300']