proc main()
{
    var a = [3,4,5].iterate();
    "(2,+):\n", a.nreduce(2,`+), '\n', '\n';
    "(2,+,0):\n", a.nreduce(2,`+,0), '\n', '\n';
    "(2,+,1):\n", a.nreduce(2,`+,1), '\n', '\n';

    "(3,-):\n", a.nreduce(3,`-), '\n', '\n';
    "(3,-,0):\n", a.nreduce(3,`-,0), '\n', '\n';
    "(3,-,1):\n", a.nreduce(3,`-,1), '\n', '\n';

    "(-3,-):\n", a.nreduce(-3,`-), '\n', '\n';
    "(-3,-,0):\n", a.nreduce(-3,`-,0), '\n', '\n';
    "(-3,-,1):\n", a.nreduce(-3,`-,1), '\n';
}