There are N balls placed in a row. AtCoDeer the deer is painting each of these in one of the K colors of his paint cans. For aesthetic reasons, any two adjacent balls must be painted in different colors.

Find the number of the possible ways to paint the balls.

Constraints

* 1≦N≦1000
* 2≦K≦1000
* The correct answer is at most 2^{31}-1.

Input

The input is given from Standard Input in the following format:


N K


Output

Print the number of the possible ways to paint the balls.

Examples

Input

2 2


Output

2


Input

1 10


Output

10
import java.math.BigInteger;
import java.util.Scanner;
import java.io.*;
public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
        int n,i=1,x,t=1008,k;
        BigInteger a,b,c;
        n=cin.nextInt();
        k=cin.nextInt();
        //a=cin.nextBigInteger();
        //b=cin.nextBigInteger();
        c=BigInteger.ONE ;
        b=BigInteger.ONE ;
        a=BigInteger.ZERO;
        BigInteger[] jc = new BigInteger[2008];
        jc[0]=c;
        if(n==1)System.out.println(k);
        else
        {
            for( i=1; i<=t; i++)jc[i]=jc[i-1].multiply(BigInteger.valueOf(i));
            for(i=2; i<=k; i++)
            {
                BigInteger cj,l;//从k选i
                l=jc[i].multiply(jc[k-i]);
                cj=jc[k].divide(l);
                BigInteger z,v;
                v=BigInteger.valueOf(i-1);

                z=v.pow(n-1);
                BigInteger p=(BigInteger.valueOf(i)).multiply(z);
                BigInteger r=cj.multiply(p);
                a=a.add(r);
            }
            System.out.println(a);
        }
    }
}