using System;
using System.Collections.Generic;
 
namespace ConsoleApp1
{
    static class MyLinq
    {
        public static IEnumerable<int> Where(this int[] arr, Func<int, bool> cond)
        {
            int[] result = new int[arr.Length];
            int j = 0;
            for (int i = 0; i < arr.Length; i++)
                if (cond(arr[i]))
                    result[j++] = arr[i];
            Array.Resize(ref result, j);
            return result;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            var query = from x in arr where x % 2 == 0 select x;
            foreach (int x in query) Console.Write(x + "\t");
        }
    }
}
 
				dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCm5hbWVzcGFjZSBDb25zb2xlQXBwMQp7CiAgICBzdGF0aWMgY2xhc3MgTXlMaW5xCiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyBJRW51bWVyYWJsZTxpbnQ+IFdoZXJlKHRoaXMgaW50W10gYXJyLCBGdW5jPGludCwgYm9vbD4gY29uZCkKICAgICAgICB7CiAgICAgICAgICAgIGludFtdIHJlc3VsdCA9IG5ldyBpbnRbYXJyLkxlbmd0aF07CiAgICAgICAgICAgIGludCBqID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcnIuTGVuZ3RoOyBpKyspCiAgICAgICAgICAgICAgICBpZiAoY29uZChhcnJbaV0pKQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFtqKytdID0gYXJyW2ldOwogICAgICAgICAgICBBcnJheS5SZXNpemUocmVmIHJlc3VsdCwgaik7CiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgfQogICAgfQoKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICBpbnRbXSBhcnIgPSB7IDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwIH07CiAgICAgICAgICAgIHZhciBxdWVyeSA9IGZyb20geCBpbiBhcnIgd2hlcmUgeCAlIDIgPT0gMCBzZWxlY3QgeDsKICAgICAgICAgICAgZm9yZWFjaCAoaW50IHggaW4gcXVlcnkpIENvbnNvbGUuV3JpdGUoeCArICJcdCIpOwogICAgICAgIH0KICAgIH0KfQo=