#include <stdio.h>
#include <math.h>   
 
typedef struct {
    double x;
    double y;
} Point;
Point scan_point(void);
double area_of(Point p1, Point p2);
double circumference_of(Point p1, Point p2);
 
int main(void) {
    Point p1, p2;
    double area, circumference;
    printf("左上隅と右下隅の座標を入力してください。\n");     p1 = scan_point();
 
    printf("右下の座標を入力してください(x y):");     p2 = scan_point();
 
    area = area_of(p1, p2);
    circumference = circumference_of(p1, p2);
 
    printf("周囲の長さ:%.2f\n", circumference
);  
    return 0;
}
 
Point scan_point(void) {
    Point p;
    scanf("%lf %lf", &p.
x, &p.
y);     return p;
}
 
double area_of(Point p1, Point p2) {
    double width 
= fabs(p2.
x - p1.
x);     double height 
= fabs(p2.
y - p1.
y);     return width * height;
}
 
double circumference_of(Point p1, Point p2) {
    double width 
= fabs(p2.
x - p1.
x);     double height 
= fabs(p2.
y - p1.
y);     return 2 * (width + height);
}
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+ICAgCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9IFBvaW50OwpQb2ludCBzY2FuX3BvaW50KHZvaWQpOwpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpOwpkb3VibGUgY2lyY3VtZmVyZW5jZV9vZihQb2ludCBwMSwgUG9pbnQgcDIpOwoKaW50IG1haW4odm9pZCkgewogICAgUG9pbnQgcDEsIHAyOwogICAgZG91YmxlIGFyZWEsIGNpcmN1bWZlcmVuY2U7CiAgICBwcmludGYoIuW3puS4iumaheOBqOWPs+S4i+maheOBruW6p+aomeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIik7CiAgICBwcmludGYoIuW6p+aome+8ke+8iHggee+8ie+8miIpOwogICAgcDEgPSBzY2FuX3BvaW50KCk7CgogICAgcHJpbnRmKCLlj7PkuIvjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTvvIh4IHnvvInvvJoiKTsKICAgIHAyID0gc2Nhbl9wb2ludCgpOwoKICAgIGFyZWEgPSBhcmVhX29mKHAxLCBwMik7CiAgICBjaXJjdW1mZXJlbmNlID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYSk7CiAgICBwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bWZlcmVuY2UpOwoKICAgIHJldHVybiAwOwp9CgpQb2ludCBzY2FuX3BvaW50KHZvaWQpIHsKICAgIFBvaW50IHA7CiAgICBzY2FuZigiJWxmICVsZiIsICZwLngsICZwLnkpOwogICAgcmV0dXJuIHA7Cn0KCmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMikgewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gd2lkdGggKiBoZWlnaHQ7Cn0KCmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMikgewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gMiAqICh3aWR0aCArIGhlaWdodCk7Cn0=