// $Id: heapsort.csharp,v 1.0 2002/09/28 10:21:00 dada Exp $
// http://dada.perl.it/shootout/
// contributed by Erik Saltwell

using System;

namespace HeapSort
{
    class App
    {
        public const long IM = 139968;
        public const long IA =   3877;
        public const long IC =  29573;

        public static long last = 42;
        
        public static double gen_random(double max) 
        {
            return( max * (last = (last * IA + IC) % IM) / IM );
        }

        public static int count =0;

        [STAThread]
        static void Main(string[] args)
        {
            count = int.Parse(args[0]);
            double[] ary = new double[count+1];
            unsafe
            {
                for(int i=0;i<=count;++i)
                {
                    ary[i]=gen_random(1);
                }
            }
            heapsort(ary);
            Console.WriteLine(ary[count]);
        }
    
        public static void heapsort(double[] ra) 
        {
            unsafe
            {
            int l, j, ir, i;
            double rra;

            l = (count >> 1) + 1;
            ir = count;
                for (;;) 
                {
                    if (l > 1) 
                    {
                        rra = ra[--l];
                    } 
                    else 
                    {
                        rra = ra[ir];
                        ra[ir] = ra[1];
                        if (--ir == 1) 
                        {
                            ra[1] = rra;
                            return;
                        }
                    }
                    i = l;
                    j = l << 1;
                    while (j <= ir) 
                    {
                        if (j < ir && ra[j] < ra[j+1]) { ++j; }
                        if (rra < ra[j]) 
                        {
                            ra[i] = ra[j];
                            j += (i = j);
                        } 
                        else 
                        {
                            j = ir + 1;
                        }
                    }
                    ra[i] = rra;
                }
            }
        }

    }
}