#A1016. AC鸭的暴力枚举

    ID: 1704 传统题 1000ms 256MiB 尝试: 4 已通过: 2 难度: 10 上传者: 标签>算法基础模拟组合数学搜索动态规划组合数学排列组合模拟深度优先搜索

AC鸭的暴力枚举

题目描述

AC鸭迎来一个新的挑战,他自学习了3个月C++就要参加 NOIP 了,老师很担心他的成绩所以打算让他来练习练习最基础的暴力骗分技巧,这天老师布置一个任务是,给AC鸭一些数,他需要从中选几个数,并且把这些数自由的排列组合成一个新的数。比如老师给了AC鸭1 2 3 4 这4个数要求他从中选 3 个来拼成新的数,比如 123 321 213 413...

现在你需要帮助 AC鸭求出所有的可以拼成的数,并且统计最终有多少个不同的数。

输入

输入的第一行给出两个整数 N,xN,x, 表示老师给AC鸭数的个数和AC鸭挑选数字的个数。

输入的第二行给出NN个整数 aia_{i} ,表示老师给的数。 对于 100%100\% 的数据,有1N121x41ai991 ≤ N ≤ 12,1 ≤ x ≤ 4,1 ≤ a_{i} ≤ 99

输出

AC鸭总共可以得到多少个不同的数

样例

4 3
1 5 6 7
24
6 1
1 5 6 7 1 5
4