import java.util.*;
import java.lang.*;

public class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{	
		Figure figurs[]=new Figure[3];	
		figurs[0] = new Circle(1,1,1.5);
		figurs[1] = new Quadrate(1,1,3,3);
		figurs[2] = new Segment(0,0,1,0);
		for(Figure i: figurs){
			System.out.println(i.getSquare());
		}

	}
}
abstract class Figure{
	abstract public double getSquare();
}
class Circle extends Figure{
	private double x,y,r;
	public Circle(double x,double y,double r){
		this.x=x;
		this.y=y;
		this.r=r;
	}
	@Override
	public double getSquare(){
		return Math.PI*r*r;
	}
}
class Quadrate extends Figure{
	private double x,y,x1,y1;
	public Quadrate(double x,double y,double x1,double y1){
		this.x=x;
		this.y=y;
		this.x1=x1;
		this.y1=y1;
	}
	@Override
	public double getSquare(){
		return Math.abs(x-x1)*Math.abs(y-y1);
	}
}
class Segment extends Figure{
	private double x,y,x1,y1;
	public Segment(double x,double y,double x1,double y1){
		this.x=x;
		this.y=y;
		this.x1=x1;
		this.y1=y1;
	}
	@Override
	public double getSquare(){
		return 0;
		//площадь отрезка всегда 0
	}
}