import java.util.Scanner;
public class Main {
public static void main
(String[] args
) {
Scanner scan
= new Scanner
(System.
in);
double length = scan.nextDouble();
Shape s
= new Square
(length
);
System.
out.
printf("%.2f ", s.
getPerimeter());
System.
out.
printf("%.2f\n", s.
getArea());
length = scan.nextDouble();
double wide = scan.nextDouble();
System.
out.
printf("%.2f ", r.
getPerimeter());
System.
out.
printf("%.2f\n", r.
getArea());
double radius = scan.nextDouble();
Shape c
= new Circle
(radius
);
System.
out.
printf("%.2f ", c.
getPerimeter());
System.
out.
printf("%.2f\n", c.
getArea());
scan.close();
}
}
private double length;
private double wide;
public Shape(double len
) {
length = len;
}
public Shape(double len,
double wi
) {
length = len;
wide = wi;
}
public double getLength() {
return length;
}
public double getWide() {
return wide;
}
public abstract double getPerimeter();
public abstract double getArea();
}
class Square
extends Shape {
public Square(double len) {
super(len, len);
}
public Square(double len, double wi) {
super(len, wi);
}
public double getLength() {
return super.getLength();
}
public double getWide() {
return super.getWide();
}
public double getPerimeter() {
return 2*(super.getLength()+super.getWide());
}
public double getArea() {
return super.getLength()*super.getWide();
}
}
super(len, wi);
}
public double getPerimeter() {
return 2*(super.getLength()+super.getWide());
}
public double getArea() {
return super.getLength()*super.getWide();
}
}
class Circle
extends Shape{
public Circle(double len) {
super(len);
}
public double getPerimeter() {
return 2*3.14159*super.getLength();
}
public double getArea() {
return 3.14159*super.getLength()*super.getLength();
}
}