using System;
using System.Collections.Generic;
using System.Text;
namespace Riidelapid {
    class Riidelapp {
        /// 
        /// Eeldatavalt lapi pikem külg
        /// 
        double pikkus;
        double laius;
        string toon;
        static int loendur = 0;
        static List hoidla = new List();
        public Riidelapp(double pikkus, double laius, string toon) {
            this.pikkus = pikkus;
            this.laius = laius;
            this.toon = toon;
            loendur++;
            hoidla.Add(this);
            KeeraPaika();
        }
        void KeeraPaika() {
            if (pikkus < laius) {
                double abi = pikkus;
                pikkus = laius;
                laius = abi;
            }
        }
        public void TrykiAndmed() {
            Console.WriteLine("{0} lapp, {1}x{2}", toon, pikkus, laius);
        }
        public double KysiPikkus() {
            return pikkus;
        }
        public double Pindala() {
            return laius * pikkus;
        }
        public Riidelapp Poolita() {
            pikkus = pikkus / 2;
            Riidelapp uuslapp = new Riidelapp(pikkus, laius, toon);
            KeeraPaika();
            return uuslapp;
        }
        public Riidelapp Tykelda(double suhtarv) {
            double uuepikkus = pikkus * (1 - suhtarv);
            pikkus = pikkus * suhtarv;
            Riidelapp uuslapp = new Riidelapp(uuepikkus, laius, toon);
            KeeraPaika();
            return uuslapp;
        }
        public static double LappidePindaladeSumma(IEnumerable lapikott) {
            double sum = 0;
            foreach (Riidelapp lapp in lapikott) {
                sum += lapp.Pindala();
            }
            return sum;
        }
        public static double LappidePindaladeSumma() {
            return Riidelapp.LappidePindaladeSumma(Riidelapp.hoidla);
        }
    }
}