#include <cmath>
using std::sqrt;
static float Pi = M_PI;
class Shape {
public:
float area;
virtual void Area () = 0;
};
class Rectangle : public Shape {
public:
int length, width;
virtual void Area () {
area = length * width;
}
};
class Triangle : public Shape {
public:
float a, b, c;
virtual void Area () {
float s = ((a + b + c) / 2);
area = sqrt(s * (s - a) * (s - b) * (s - c));
}
};
class Ellipse : public Shape {
public:
int x, y;
float a, b;
virtual void Area () {
area = Pi * a * b;
}
};
class Circle : public Shape {
public:
int x, y; //Centre
float radius;
virtual void Area () {
area = Pi * radius * radius;
}
};
int main ()
{
Circle a;
Rectangle b;
Ellipse d;
Triangle c;
return 0;
}
I2luY2x1ZGUgPGNtYXRoPgoKdXNpbmcgc3RkOjpzcXJ0OwpzdGF0aWMgZmxvYXQgUGkgPSBNX1BJOwoKY2xhc3MgU2hhcGUgewpwdWJsaWM6CiAgICBmbG9hdCBhcmVhOwogICAgdmlydHVhbCB2b2lkIEFyZWEgKCkgPSAwOwp9OwoKY2xhc3MgUmVjdGFuZ2xlIDogcHVibGljIFNoYXBlIHsKcHVibGljOgogICAgaW50IGxlbmd0aCwgd2lkdGg7CiAgICB2aXJ0dWFsIHZvaWQgQXJlYSAoKSB7CiAgICAgICAgYXJlYSA9IGxlbmd0aCAqIHdpZHRoOwogICAgfQp9OwoKY2xhc3MgVHJpYW5nbGUgOiBwdWJsaWMgU2hhcGUgewpwdWJsaWM6CiAgICBmbG9hdCBhLCBiLCBjOwogICAgdmlydHVhbCB2b2lkIEFyZWEgKCkgewogICAgICAgIGZsb2F0IHMgPSAoKGEgKyBiICsgYykgLyAyKTsKICAgICAgICBhcmVhID0gc3FydChzICogKHMgLSBhKSAqIChzIC0gYikgKiAocyAtIGMpKTsKICAgIH0KfTsKCgpjbGFzcyBFbGxpcHNlIDogcHVibGljIFNoYXBlIHsKcHVibGljOgogICAgaW50IHgsIHk7CiAgICBmbG9hdCBhLCBiOwogICAgdmlydHVhbCB2b2lkIEFyZWEgKCkgewogICAgICAgIGFyZWEgPSBQaSAqIGEgKiBiOwogICAgfQp9OwoKY2xhc3MgQ2lyY2xlIDogcHVibGljIFNoYXBlIHsKcHVibGljOgogICAgaW50IHgsIHk7IC8vQ2VudHJlCiAgICBmbG9hdCByYWRpdXM7CiAgICB2aXJ0dWFsIHZvaWQgQXJlYSAoKSB7CiAgICAgICAgYXJlYSA9IFBpICogcmFkaXVzICogcmFkaXVzOwogICAgfQp9OwoKCmludCBtYWluICgpCnsKICAgIENpcmNsZSBhOwogICAgUmVjdGFuZ2xlIGI7CiAgICBFbGxpcHNlIGQ7CiAgICBUcmlhbmdsZSBjOwogICAgcmV0dXJuIDA7Cn0KCg==