using System.Collections.Generic;
public static int[] filter(int[] n, Func<int, bool> fn){
List<int> result = new List<int>();
public static int reduce(int[] n, Func<int, int, int> fn) {
public static void Main(){
Func<int, bool> f = v => v > 2;
foreach(var i in filter(x, f)) Console.WriteLine(i);
Func<int, int, int> r = (acc,v) => acc+v;