public abstract class Shape{
public Shape(int numSides){
this.numSides = numSides;
public abstract double getArea();
public abstract double getPerimeter();
public class Rectangle: Shape{
public Rectangle(double width, double height):base(4){
public override double getArea(){
public override double getPerimeter(){
public class IsoscelesTriangle: Shape{
public IsoscelesTriangle(double Base, double height):base(3){
public override double getArea(){
public override double getPerimeter(){
return Base+ 2*Math.Sqrt((Base/2)*(Base/2)+height*height);
public static void Main()