using System; using System.Collections.Generic; using System.Text; using System.Linq; class Program { public void Proc() { Reader.IsDebug = false; int dataSetCount = int.Parse(Reader.ReadLine()); for(int i=0; iint.Parse(a)).OrderByDescending(a=>a).ToArray(); int kyakuCount = int.Parse(Reader.ReadLine()); KyakuList = Reader.ReadLine().Split(' ').Select(a=>int.Parse(a)).ToArray(); this.dic = new Dictionary>>(); Console.WriteLine(this.GetAns(takeList[0], takeList[1], 0)); } } private int[] KyakuList; private Dictionary>> dic = new Dictionary>>(); private int GetAns(int takeLong, int takeShort, long flag) { if(flag == (1<>()); } if(!this.dic[takeLong].ContainsKey(takeShort)) { this.dic[takeLong].Add(takeShort, new Dictionary()); } if(this.dic[takeLong][takeShort].ContainsKey(flag)) { return this.dic[takeLong][takeShort][flag]; } int ans = 0; for(int i=0; i