object Solution { def main(args: Array[String]) { val sc = new java.util.Scanner (System.in); var q = sc.nextInt(); var a0 = 0; var mod = 663224321 while(a0 < q){ var n = sc.nextInt(); //var arr = Array.ofDim[Int](n,n); // your code goes here find_networks(n) a0+=1; } def nCr(n: Long, r: Long) : Long = { if(n==r) return 1L; if(r==1) return n; return (nCr(n-1,r) + nCr(n-1,r-1) ) % mod; } def find_networks(n: Int) = { if(n<=2) { println(1) } else { var min : Long = n - 1; var max : Long = (n * (n-1)) / 2 println("min=" + min + "max=" + max) var sum:Long = 0; for(i<- min to max) { sum = (sum + nCr(max,i)) % mod } println(sum) } } } }