class Ponto2D {
    private int x;
    private int y;

    public Ponto2D(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public Ponto2D( ) {
        this(0,0);
    }

    public double distancia(Ponto2D p) {
        double distX = p.x - x;
        double distY = p.y - y;

        return(Math.sqrt(distX*distX + distY*distY));
    }
}

class Ponto3D extends Ponto2D {
    private int z;

    public Ponto3D(int x, int y, int z) {
        super(x, y);
        this.z = z;
    }

    public Ponto3D( ) {
        z = 0;
    }

    public static void main(String[] args) {
        Ponto2D ref2 = new Ponto2D();
        Ponto2D p2 = new Ponto2D(1,1);
        System.out.println("Distancia2: " + p2.distancia(ref2));
        Ponto3D p3 = new Ponto3D(1,2,3);
        System.out.println("Distancia3: " + p3.distancia(ref2));
    }
}