Little Mirko spends his free time painting. For this hobby, he likes to use brushes and a pallet
containing colors overall. His friend Slavko decided to use Mirko's talent and gave him his new
coloring book for Mirko to color. The coloring book contains
images numbered
.
Mirko has decided to paint each image in exactly one color of the possible colors from his pallet.
However, he really likes colorful things. He chose
numbers
and decided to paint the image
numbered
differently than the images numbered
, except when
. If
, that means he can
paint the image numbered
whichever color he likes, as long as all other conditions have been met.
Mirko wants to know the number of possible ways to color Slavko's coloring book and he desperately
needs your help! Calculate the number of possible ways to color the book. Given the fact that the
output can be very large, print the answer modulo .
Input
The first line of input contains positive integers
.
The following line contains numbers
, the number stated in the text.
Output
The first and only line must contain the number of possible ways to color Slavko's book.
Scoring
In test data worth of total points, all numbers
will be different.
Sample Input 1
2 3
2 1
Sample Output 1
6
Explanation for Sample Output 1
Mirko has three colors and decided that the image numbered
mustn't be of the same color as the image numbered
. The possible colorings are
, where the first number in the brackets represents the color of the first image and the
second number the color of the second image.
Sample Input 2
3 4
2 3 1
Sample Output 2
24
Sample Input 3
3 4
2 1 1
Sample Output 3
36
Sample Input 4
3 4
1 1 2
Sample Output 4
36
Explanation for Sample Output 4
Mirko has four colors. There are no conditions regarding the
first image, it can be painted in whichever color. The second must be different than the first, and the
third different than the second. That means that those two images can be colored in the remaining
colors. This gives us a total of
combinations.
Comments