Problem:
Score : 200 points

Problem Statement

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.

Sample Input 1

2 2

Sample Output 1

2

We will denote the colors by 0 and 1. There are two possible ways: we can either paint the left ball in color 0 and the right ball in color 1, or paint the left in color 1 and the right in color 0.

Sample Input 2

1 10

Sample Output 2

10

Since there is only one ball, we can use any of the ten colors to paint it. Thus, the answer is ten.

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

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;
        for( i=1; i<=t; i++)jc[i]=jc[i-1].multiply(BigInteger.valueOf(i));
        for(i=2; i<=n&&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);
        }
        if(n>=2)System.out.println(a);
        else if(n==1)System.out.println(k);
    }
}