using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
public class Test
{
public static void Execute(int i) {
Console.WriteLine("{0}", i);
}
public static void Main()
{
var exec = typeof(Test).GetMethod("Execute");
var actions = new List<Action>();
for (int i = 0 ; i != 100 ; i++) {
var val = Expression.Constant(i+100100100);
var call = Expression.Call(exec, val);
var lambda = Expression.Lambda(typeof(Action), call, new ParameterExpression[0]);
actions.Add((Action)lambda.Compile());
}
foreach (var a in actions) a();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5MaW5xLkV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgcHVibGljIHN0YXRpYyB2b2lkIEV4ZWN1dGUoaW50IGkpIHsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiezB9IiwgaSk7CiAgICB9CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIGV4ZWMgPSB0eXBlb2YoVGVzdCkuR2V0TWV0aG9kKCJFeGVjdXRlIik7CiAgICAgICAgdmFyIGFjdGlvbnMgPSBuZXcgTGlzdDxBY3Rpb24+KCk7CiAgICAgICAgZm9yIChpbnQgaSA9IDAgOyBpICE9IDEwMCA7IGkrKykgewogICAgICAgICAgICB2YXIgdmFsID0gRXhwcmVzc2lvbi5Db25zdGFudChpKzEwMDEwMDEwMCk7CiAgICAgICAgICAgIHZhciBjYWxsID0gRXhwcmVzc2lvbi5DYWxsKGV4ZWMsIHZhbCk7CiAgICAgICAgICAgIHZhciBsYW1iZGEgPSBFeHByZXNzaW9uLkxhbWJkYSh0eXBlb2YoQWN0aW9uKSwgY2FsbCwgbmV3IFBhcmFtZXRlckV4cHJlc3Npb25bMF0pOwogICAgICAgICAgICBhY3Rpb25zLkFkZCgoQWN0aW9uKWxhbWJkYS5Db21waWxlKCkpOwogICAgICAgIH0KICAgICAgICBmb3JlYWNoICh2YXIgYSBpbiBhY3Rpb25zKSBhKCk7Cgl9Cn0=