import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Punkt2D punkt1 = new Punkt2D();
Punkt2D punkt2 = new Punkt2D();
Scanner scr
= new Scanner
(System.
in); // System.out.println("Input coordinate x for first point: ");
punkt1.setX(scr.nextInt());
// System.out.println("Input coordinate y for first point: ");
punkt1.setY(scr.nextInt());
// System.out.println("Input coordinate x for second point: ");
punkt2.setX(scr.nextInt());
// System.out.println("Input coordinate y for second point: ");
punkt2.setY(scr.nextInt());
System.
out.
println("1st point is (" + punkt1.
getX() + ", " + punkt1.
getY() + ")."); System.
out.
println("2nd point is (" + punkt2.
getX() + ", " + punkt2.
getY() + ").");
Distance dstnc = new Distance(punkt1, punkt2);
}
}
class Punkt2D{
private int x;
private int y;
Punkt2D(){
}
Punkt2D(int x, int y){
this.x = x;
this.y = y;
}
void setX(int x){
this.x = x;
}
void setY(int y){
this.y = y;
}
int getX(){
return this.x;
}
int getY(){
return this.y;
}
}
class Distance{
Distance (Punkt2D a, Punkt2D b){
double xLength = length(a.getX(), b.getX());
double yLength = length(a.getY(), b.getY());
System.
out.
println(xLength
+ " " + yLength
); double distance
= Math.
sqrt(xLength
* xLength
+ yLength
* yLength
); System.
out.
print("Distance between them is: "); System.
out.
format("%.2f%n", distance
); }
double length(int a, int b){
double length;
if ((a>0 && b>0) || (a<0 && b<0)){
}
else if ((a<0 && b>0) || (a>0 && b<0)){
}
else {
}
return length;
}
class Distance3D {
Distance3D(Punkt3D a, Punkt3D b){
double xLength
= Math.
abs(a.
getX()) + Math.
abs(b.
getX()); double yLength
= Math.
abs(a.
getY()) + Math.
abs(b.
getY()); double zLength
= Math.
abs(a.
getZ()) + Math.
abs(b.
getZ());
}
}
}
class Punkt3D extends Punkt2D{
private int z;
Punkt3D(){
}
void setZ(int z){
this.z = z;
}
int getZ(){
return this.z;
}
}
CmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlQdW5rdDJEIHB1bmt0MSA9IG5ldyBQdW5rdDJEKCk7CgkJUHVua3QyRCBwdW5rdDIgPSBuZXcgUHVua3QyRCgpOwoJCQoJCVNjYW5uZXIgc2NyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQkvLyBTeXN0ZW0ub3V0LnByaW50bG4oIklucHV0IGNvb3JkaW5hdGUgeCBmb3IgZmlyc3QgcG9pbnQ6ICIpOwoJCXB1bmt0MS5zZXRYKHNjci5uZXh0SW50KCkpOwoJCS8vIFN5c3RlbS5vdXQucHJpbnRsbigiSW5wdXQgY29vcmRpbmF0ZSB5IGZvciBmaXJzdCBwb2ludDogIik7CgkJcHVua3QxLnNldFkoc2NyLm5leHRJbnQoKSk7CgkJLy8gU3lzdGVtLm91dC5wcmludGxuKCJJbnB1dCBjb29yZGluYXRlIHggZm9yIHNlY29uZCBwb2ludDogIik7CgkJcHVua3QyLnNldFgoc2NyLm5leHRJbnQoKSk7CgkJLy8gU3lzdGVtLm91dC5wcmludGxuKCJJbnB1dCBjb29yZGluYXRlIHkgZm9yIHNlY29uZCBwb2ludDogIik7CgkJcHVua3QyLnNldFkoc2NyLm5leHRJbnQoKSk7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKCIxc3QgcG9pbnQgaXMgKCIgKyBwdW5rdDEuZ2V0WCgpICsgIiwgIiArIHB1bmt0MS5nZXRZKCkgKyAiKS4iKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIjJuZCBwb2ludCBpcyAoIiArIHB1bmt0Mi5nZXRYKCkgKyAiLCAiICsgcHVua3QyLmdldFkoKSArICIpLiIpOwoJCQoJCURpc3RhbmNlIGRzdG5jID0gbmV3IERpc3RhbmNlKHB1bmt0MSwgcHVua3QyKTsKCX0KfQoKY2xhc3MgUHVua3QyRHsKCXByaXZhdGUgaW50IHg7Cglwcml2YXRlIGludCB5OwoJCglQdW5rdDJEKCl7CgkJCgl9CgkKCVB1bmt0MkQoaW50IHgsIGludCB5KXsKCQl0aGlzLnggPSB4OwoJCXRoaXMueSA9IHk7Cgl9CgkKCXZvaWQgc2V0WChpbnQgeCl7CgkJdGhpcy54ID0geDsJCQoJfQoJCgl2b2lkIHNldFkoaW50IHkpewoJCXRoaXMueSA9IHk7Cgl9CgkKCWludCBnZXRYKCl7CgkJcmV0dXJuIHRoaXMueDsKCX0KCQoJaW50IGdldFkoKXsKCQlyZXR1cm4gdGhpcy55OwoJfQoJCn0KCmNsYXNzIERpc3RhbmNlewoJCgkKCURpc3RhbmNlIChQdW5rdDJEIGEsIFB1bmt0MkQgYil7CgkJZG91YmxlIHhMZW5ndGggPSBsZW5ndGgoYS5nZXRYKCksIGIuZ2V0WCgpKTsKCQlkb3VibGUgeUxlbmd0aCA9IGxlbmd0aChhLmdldFkoKSwgYi5nZXRZKCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbih4TGVuZ3RoICsgIiAiICsgeUxlbmd0aCk7CgkJZG91YmxlIGRpc3RhbmNlID0gTWF0aC5zcXJ0KHhMZW5ndGggKiB4TGVuZ3RoICsgeUxlbmd0aCAqIHlMZW5ndGgpOwoJCVN5c3RlbS5vdXQucHJpbnQoIkRpc3RhbmNlIGJldHdlZW4gdGhlbSBpczogIik7CgkJU3lzdGVtLm91dC5mb3JtYXQoIiUuMmYlbiIsIGRpc3RhbmNlKTsKCX0KCQoJZG91YmxlIGxlbmd0aChpbnQgYSwgaW50IGIpewoJCQoJCWRvdWJsZSBsZW5ndGg7IAoJCWlmICgoYT4wICYmIGI+MCkgfHwgKGE8MCAmJiBiPDApKXsKCQkJbGVuZ3RoID0gTWF0aC5hYnMoTWF0aC5hYnMoYSkgLSBNYXRoLmFicyhiKSk7CgkJfQoJCWVsc2UgaWYgKChhPDAgJiYgYj4wKSB8fCAoYT4wICYmIGI8MCkpewoJCQlsZW5ndGggPSBNYXRoLmFicyhNYXRoLmFicyhhKSArIE1hdGguYWJzKGIpKTsKCQl9CgkJCQoJCWVsc2UgewoJCQlsZW5ndGggPSBNYXRoLmFicyhNYXRoLmFicyhhKSArIE1hdGguYWJzKGIpKTsKCQkJCgkJfQoJCXJldHVybiBsZW5ndGg7CQoJfQoJCmNsYXNzIERpc3RhbmNlM0QgewoJRGlzdGFuY2UzRChQdW5rdDNEIGEsIFB1bmt0M0QgYil7CgkJZG91YmxlIHhMZW5ndGggPSBNYXRoLmFicyhhLmdldFgoKSkgKyBNYXRoLmFicyhiLmdldFgoKSk7CgkJZG91YmxlIHlMZW5ndGggPSBNYXRoLmFicyhhLmdldFkoKSkgKyBNYXRoLmFicyhiLmdldFkoKSk7CQoJCWRvdWJsZSB6TGVuZ3RoID0gTWF0aC5hYnMoYS5nZXRaKCkpICsgTWF0aC5hYnMoYi5nZXRaKCkpOwoJCQoJCQoJfQoJCn0KfQpjbGFzcyBQdW5rdDNEIGV4dGVuZHMgUHVua3QyRHsKCXByaXZhdGUgaW50IHo7CgkKCVB1bmt0M0QoKXsKCQkKCX0KCXZvaWQgc2V0WihpbnQgeil7CgkJdGhpcy56ID0gejsKCX0KCQoJaW50IGdldFooKXsKCQlyZXR1cm4gdGhpcy56OwoJfQp9Cgo=