public static long runit(String name, int n)
    {
        ListClass lRev   = null;
        ListClass lQuick = null;

        if (name.Equals("nrev"))
        {
            lRev = ListClass.genlist(n);
        }
        else if (name.Equals("quick"))
        {
            lQuick = ListClass.randlist(5000);
        }
        GC.Collect(GC.MaxGeneration);
        DateTime startTime = GetTime();
        int      i         = 0;

        if (name.Equals("fib"))
        {
            i = fib(n);
        }
        else if (name.Equals("tak"))
        {
            i = tak(3 * n, 2 * n, n);
        }
        else if (name.Equals("nrev"))
        {
            ListClass.nrev(lRev);
        }
        else if (name.Equals("quick"))
        {
            ListClass.goquick(lQuick, n);
        }
        else if (name.Equals("derivvirt"))
        {
            VirtTerm.goderivvirt(n);
        }
        DateTime endTime  = GetTime();
        TimeSpan diffTime = endTime.Subtract(startTime);

        return((long)diffTime.TotalMilliseconds);
    }