...

ABC-046|B - AtCoDeerくんとボール色塗り

ボールは直線に並んでいるので最初のボールにはすべての色を選ぶことができますが、それ以降のボールには直前のボールに塗った色以外ということになります。すなわち k (k-1) (k-1) (k-1) ...という並びが全体でn個並ぶことになります。

...

これを式にしたものが解答なのですが、例題にもあるボールが1個の場合はそのまま色数を返すように場合分けをしています。

 def getIntMap():
    return map(int, input().split())


def main():
    n, k = getIntMap()

    if n == 1:
        print(k)
    else:
        print(k * ((k - 1) ** (n - 1)))


if __name__ == "__main__":
    main()