using System.Collections.Generic;
public static void Main()
List<int> list = new List<int> {1,2,3,4,5};
Func<List<int>, int> Qd = null;
(x.Count == 0) ? 0 : x.Last() * x.Last() + Qd(x.Take(x.Count-1).ToList<int>());
Func<List<int>, int> Qd2 =
x.Select(i => i*i).Sum();
Func<Func<int, int, int>, List<int>, int> Qd3 = null;
(c.Count == 0) ? 0 : a(c.Last(), Qd3(a, c.Take(c.Count-1).ToList<int>()));
Func<int, int, int> Qd3S =
var resultado = Qd(list);
var resultado2 = Qd2(list);
var resultado3 = Qd3(Qd3S, list);
Console.WriteLine(resultado);
Console.WriteLine(resultado2);
Console.WriteLine(resultado3);