#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 = {0.00, 0.00};
    Point p2;
 
    printf("左上隅と右下隅の座標を入力してください。\n");     printf("座標1 (%.2f, %.2f)\n", p1.
x, p1.
y);  
    p2 = scan_point();
 
    double area = area_of(p1, p2);
    double circum = circumference_of(p1, p2);
 
    printf("周囲の長さ:%.2f\n", circum
);  
    return 0;
}
 
Point scan_point(void){
    Point p;
    scanf("%lf %lf", &p.
x, &p.
y);     printf("座標2 (%.2f, %.2f)\n", 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+Cgp0eXBlZGVmIHN0cnVjdHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7Cn1Qb2ludDsKClBvaW50IHNjYW5fcG9pbnQodm9pZCk7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbih2b2lkKXsKICAgIFBvaW50IHAxID0gezAuMDAsIDAuMDB9OwogICAgUG9pbnQgcDI7CgogICAgcHJpbnRmKCLlt6bkuIrpmoXjgajlj7PkuIvpmoXjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIpOwogICAgcHJpbnRmKCLluqfmqJkxICglLjJmLCAlLjJmKVxuIiwgcDEueCwgcDEueSk7CgogICAgcDIgPSBzY2FuX3BvaW50KCk7CgogICAgZG91YmxlIGFyZWEgPSBhcmVhX29mKHAxLCBwMik7CiAgICBkb3VibGUgY2lyY3VtID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYSk7CiAgICBwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bSk7CgogICAgcmV0dXJuIDA7Cn0KClBvaW50IHNjYW5fcG9pbnQodm9pZCl7CiAgICBQb2ludCBwOwogICAgc2NhbmYoIiVsZiAlbGYiLCAmcC54LCAmcC55KTsKICAgIHByaW50Zigi5bqn5qiZMiAoJS4yZiwgJS4yZilcbiIsIHAueCwgcC55KTsKICAgIHJldHVybiBwOwp9Cgpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gd2lkdGggKiBoZWlnaHQ7Cn0KCmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMil7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiAyICogKHdpZHRoICsgaGVpZ2h0KTsKfQo=