using System;

abstract public class Figura
{
  public string ime;
  
  public void postaviIme(string ime)
  {
    this.ime = ime;
  }
  
  abstract public float Povrsina();
}	

abstract public class DvodimenzionaFigura : Figura    
 { 
   float X_Koordinata;
   float Y_Koordinata;

   public DvodimenzionaFigura(float X, float Y)  
     { 
        X_Koordinata = X;    
        Y_Koordinata = Y;      
     } 
  }
  abstract public class TrodimenzionaFigura : Figura    
 {
   float X_Koordinata;
   float Y_Koordinata; 
   float Z_Koordinata;

   public TrodimenzionaFigura(float X, float Y, float Z)
   {     
      X_Koordinata = X;     
      Y_Koordinata = Y;       
      Z_Koordinata = Z;     
    } 
   
     abstract public float Zapremina(); 
 }
 public class Pravougaonik : DvodimenzionaFigura   
{ 
  float duzina;
  float sirina;

  public Pravougaonik( float X_koo, float Y_koo, float duz, float sir) : base(X_koo, Y_koo)
  {   
     duzina = duz;      
     sirina = sir;    
  }

  public override float Povrsina()    
  {
     return duzina * sirina;      
  }   
}
public class Kvadar : TrodimenzionaFigura     
{
  float duzina; 
  float sirina;
  float visina;

  public Kvadar(float X_koo, float Y_koo, float Z_koo, float duz, float sir, float vis): base(X_koo, Y_koo, Z_koo)        
   {
      duzina = duz;      
      sirina = sir;    
      visina = vis; 
    }

  public override float Povrsina()   
    {
      return 2*(duzina * sirina + duzina * visina + sirina * visina);    
    }
  public override float Zapremina()  
    {
      return duzina * sirina * visina;  
    }     
}

public class Program
{
	public static void Main()
	{
		Pravougaonik P1 = new Pravougaonik(0, 5, 2, 5);
		Kvadar k1 = new Kvadar(5, 5, 5, 10, 10, 10);
		Console.WriteLine("Povrsina pravougaonika P1 je "+ P1.Povrsina() );
		Console.WriteLine("Povrsina kvadra k1 je " + k1.Povrsina() + " a zapremina mu je " + k1.Zapremina());
	}
}