peterverebics/CodeNet_Python_118 huggingface dataset:
w, h, x, y = map(int, input().split())
ans = w*h/2
if h/2 == y and w/2 == x:
    flag = 1
else:
    flag = 0
print('{} {}'.format(ans, flag))
import bisect,collections,copy,itertools,math,string
import sys
def I(): return int(sys.stdin.readline().rstrip())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip.split())
def main():
    w,h,x,y = LI()
    area = w * h
    ans1 = area /2
    ans2 = 0
    if w == 2*x and h == 2*y:
        ans2 = 1

    print(ans1,ans2)

main()
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
  print(w*h/2,1)
else:
  print(w*h/2,0)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


def main():
    W, H, x, y = map(int, input().split())
    # y = a * x + b
    try:
        a = (y - H / 2) / (x - W / 2)
        b = y - a * x
        X = -b / a
    except ZeroDivisionError:
        a, b = 0, 0
        X = x

    cnt = (1 if W / 2 == x and H / 2 == y else 0)
    area = (X + W - X) * H / 2

    print(area, cnt)


if __name__ == "__main__":
    main()
w,h,x,y = map(int, input().split())
if (x,y) == (w/2, h/2): print(w*h/2, 1)
else: print(w*h/2, 0)
import sys
IS = lambda: sys.stdin.readline().rstrip()
II = lambda: int(IS())
MII = lambda: list(map(int, IS().split()))

def main():
    w, h, x, y = MII()
    print((w*h)/2, end=' ')
    if w/2 == x and h/2 == y: print(1)
    else: print(0)

if __name__ == '__main__':
    main()
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
  print(w*h/2, 1)
else:
  print(w*h/2, 0)
W,H,x,y=map(int,input().split())

S=(W*H)/2

if 2*x==W and 2*y==H:
    f=1
else:
    f=0

print(S,f)
# coding: utf-8
# Your code here!
ary = list(map(int,input().split(" ")))
area = ary[0]*ary[1]/2
f = 0
if ary[0] / 2 - ary[2] == 0 and ary[1] / 2 - ary[3] == 0:
    f = 1
print(area,f)
W, H, x, y = map(int, input().split())
area = W*H/2

if x == W/2 and y == H/2:
    print(area, 1)
else:
    print(area, 0)
W,H,x,y = map(int, input().split())
if x == W/2 and y == H/2:
    print(W*H/2, 1)
else:
    print(W*H/2, 0)
W,H,x,y = map(int,input().split())
S = (W*H)/2
if 2*x==W and 2*y==H:
    flag = 1
else:
    flag = 0
print(S,flag)
import sys
sys.setrecursionlimit(10**9)

def mi(): return map(int,input().split())
def ii(): return int(input())
def isp(): return input().split()
def deb(text): print("-------\n{}\n-------".format(text))

INF=10**20
def main():
    W,H,x,y = mi()

    ans = '{:.10f}'.format(W*H/2)
    ans2 = 1 if x==W/2 and y==H/2 else 0
    print(ans,ans2)
    




if __name__ == "__main__":
    main()
W,H,x,y=map(int,input().split())
S=W*H/2
if W/2==x and H/2==y:
    hantei=1
else:
    hantei=0
print(S,hantei)
W,H,x,y = map(int, input().split())

# quad = [[0,0],[W,0],[W,H],[0,H]] 
# S = (quad[1][0]-quad[0][1]) * (quad[2][1]-quad[0][1])
S = W*H
ans = 0

if W/2 == x and H/2 == y:
    ans = 1

print(S/2 , ans)
a,b,x,y = map(int,input().split())
print(a*b/2,int(x*2==a and y*2==b))
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
 
def main():
    w, h, x, y = map(int, readline().split())
    ans = '{:.10f}'.format(w*h/2) 
    print(ans, end=' ')
    if (2*x == w) and (2*y == h):
        print(1)
    else:
        print(0)
if __name__ == '__main__':
    main()
W, H, x, y = map(int, input().split())

if x == W/2 and y == H/2:
    area = (W*H)/2
    print(area, 1)
else:
    area = (W*H)/2
    print(area, 0)
import sys
input = sys.stdin.readline
def main():
    W, H, x, y = map(int, input().split())
    if 2*x == W:
        Fx = True
    else:
        Fx = False
    if 2*y == H:
        Fy = True
    else:
        Fy = False
    if Fx and Fy:
        way = 1
    else:
        way = 0
    area = H*W/2
    # print(area," ", way)
    print(area, way)

if __name__ == '__main__':
    main()
w, h, x, y = map(int, input().split())
if x == w / 2 and y == h / 2:
    print(w * h / 2, 1)
else:
    print(w * h / 2, 0)
w,h,x,y = map(int,input().split())

if w/2 == x and h/2 == y:
    print(w*h/2,end=' ')
    print(1)
else:
    print(w*h/2,end=' ')
    print(0)
w,h,x,y=map(int,input().split())

if w/2==x and h/2==y:
    print(0.5*h*w,1)
else:
    print(0.5*h*w,0)
w,h,x,y = map(int, input().split())
ans = 0
if w/2 == x and h/2 == y:
    ans = 1

print(w*h/2, ' ', ans)
W, H, x, y = map(int, input().split())
i = 0
if x*2 == W and y*2 == H:
  i = 1
print(W*H/2, i)
W, H, x, y = map(int, input().split())
flag = 0
if W % 2 == 0 and H % 2 == 0:
    if x == W // 2 and y == H // 2:
        flag = 1
print(W * H / 2, flag)
W, H, x, y = map(int, input().split())

print(W * H / 2, int(x + x == W and y + y == H))
w, h, x, y = map(int, input().split())
half = h*w / 2
if 2*x == w and 2*y == h:
    p = 1
else:
    p = 0

print(half, p)
w, h, x, y = map(int, input().split())

scale = (w * h) / 2


if x == w/2 and y == h/2:
  print('{0:.9f} 1'.format(scale))
else:
  print('{0:.9f} 0'.format(scale))
# -*- coding: utf-8 -*-
"""
Created on Tue May 12 00:13:44 2020

@author: shinba
"""
import sys

w,h,x,y = map(int,input().split())

if w%2 == 0 and h%2 == 0:
    if w//2 == x and h//2 == y:
        print((h*w)/2,1)
        sys.exit()
        
print(h*w/2,0)
W,H,x,y=map(int,input().split())
if W/2==x and H/2==y:
 lst=[W*H/2,1]
else:
 lst=[W*H/2,0]
print(*lst)
w, h, x, y = map(int, input().split())
s = w * h / 2
t = 0
if 2 * x == w and 2 * y == h:
    t = 1
print(s, t)
w, h, x, y = map(int, input().split())

ans = 0
if w / 2 == x and h / 2 == y:
    ans = 1
    
print((w * h) / 2, ans)
W, H, x, y = map(int, input().split())
if x == W / 2 and y == H / 2:
	print((W * H) / 2, 1)
else:
	print((W * H) / 2, 0)
'''
長方形を分割するためには長方形の中心を通る必要がある
ただし、指定された座標が中心の場合は無限に直線が弾ける
'''
w,h,x,y = map(int, input().split())

if w/2==x and h/2==y:
    print(w*h/2,1)
else:
    print(w*h/2,0)
w,h,x,y = [int(x) for x in input().split()]

if x * 2 == w and y * 2 == h:
    print((w*h)/2, 1)
else:
    print((w*h)/2, 0)
W,H,x,y = list(map(float,input().split()))

ans = W * H
ans = float(float(ans) / 2.0)
ans2 = 0
if x == float(float(W) / 2) and y == float(float(H) / 2):
    ans2 = 1

print(str(ans) + " " + str(ans2))
w,h,x,y = map(int, input().split())

print(w * h / 2, 1 if (x == w / 2) and (y == h / 2) else 0)
W, H, x, y = map(int, input().split())

if x == W/2 and y == H/2:
  menseki = W*H/2
  print(menseki,1)
else:
  menseki = W*H/2
  print(menseki,0)
m = list(map(int,input().split(" ")))
W = m[0]
H = m[1]
x = m[2]
y = m[3]

xyplus = x + y
#重心に来る時は複数、線上と内部は1こ
# if w % 2 == 0 and h % 2 == 0:

ans_area = W * H / 2
if x == W / 2 and y == H / 2:
    ans_sp = 1
else:
    ans_sp = 0
print(str(ans_area) + " " + str(ans_sp))
W, H, x, y = map(int, input().split())

z = 0
if x == W / 2 and y == H / 2:
    z = 1
print(W * H / 2, z)
W,H,x,y=map(int,input().split())
print(W*H/2,1 if x==W/2 and y==H/2 else 0)
W, H, x, y = map(int, input().split())

if x == W / 2 and y == H / 2:
    print(W * H / 2, 1)
else:
    print(W * H / 2, 0)
# 理解するまでが面白い
# 思考5分、実装1分
w,h,x,y = map(int, input().split())

print(w*h/2)

if x == w/2 and y == h/2:
    print('1')
else:
    print('0')
#W, H, x, y
W, H, x, y = map(int, input().split())

S = W*H/2
if x==W/2 and y == H/2:
    print(S, 1)
else:
    print(S, 0)
# Problem C - Rectangle Cutting

# input
W, H, x, y = map(int, input().split())

# initialization
ans = (W * H) / 2
is_ok = (x*2==W) and (y*2==H)

if is_ok:
    print("%f %d"%(ans, 1))
else:
    print("%f %d"%(ans, 0))
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)
w, h, x, y = map(int, input().split())
if (2*x==w) & (2*y == h):
    print(w*h/2, 1)
else:
    print(w*h/2, 0)
w, h, x, y = map(int, input().split())
hs = 0.5 * w * h
if x == w / 2 and y == h / 2:
    print("{:.10f}".format(hs), 1)
else:
    print("{:.10f}".format(hs), 0)
w, h, x, y = map(int, input().split())

if x == w/2 and y == h/2:
    print(w*h/2, int(1))
else:
    print(w*h/2, int(0))
W,H,x,y=map(int,input().split())

S=W*H/2

if x+x==W and y+y==H:
    ans=1
else:
    ans=0

print(str('{:.10f}'.format(S))+' '+str(ans))
import os, sys, re, math, queue

W,H,x,y = list(map(int,input().split(' ')))

if x == W/2 and y == H/2:
	print(W*H*1.0/2, 1)
else:
	print(W*H*1.0/2, 0)
W,H,x,y = map(int, input().split())

if (W%2==1) or (H%2==1):
    print((W*H)/2,"0")
elif (x == int(W/2)) and (y == int(H/2)):
    print((W*H)/2,"1")
else:
    print((W*H)/2,"0")
w,h,x,y = map(int,input().split())

if x == w/2 and y == h/2:
  ans = 1
else:
  ans = 0
print(w*h/2,ans)
W,H,x,y=map(int,input().split())
S = H*W/2
res = 0
if x*2 == W and y*2 == H:
  res = 1
print(S,res)
w, h, x, y = map(int, input().split())
ans_1 = w*h/2
if x == w/2 and y == h/2:
   ans_2 = 1*True
else:
   ans_2 = 1*False
print(ans_1, ans_2)
W, H, x, y = map(int, input().split())

R = 0
if W == 2*x and H == 2*y:
    R = 1

print(W*H / 2,R)
w,h,x,y = map(int,input().split())

half = w*h/2
msg = 0
if x == w/2 and y == h/2:
    msg = 1
print(half, msg)
W,H,x,y = map(int, input().split())
print(W*H/2, 1 if W/2 == x and H/2 == y else 0)
W, H, x, y = map(int, input().split())
mul = 0
if float(y) == H/2:
    if float(x) == W/2:
        mul = 1

print("{:.6f} {}".format(H*W/2, mul))
W, H, x, y = map(int, input().split())
print(W * H / 2, 1 if x * 2 == W and y * 2 == H else 0)
w, h, x, y = map(int, input().split())

a = w*h/2

if w/2 == x and h/2 == y:
    b = 1
else:
    b = 0
print(a,b)
# coding = SJIS

w, h, x, y = map(int, input().split())

area = w * h
ans = area / 2
ok = 0

if x == w / 2 and y == h / 2:
    ok = 1

print(ans, ok)
w,h,x,y = map(int, input().split())
ans = w*h/2

if x*2 == w and y*2 == h:
    ans2 = 1
else:
    ans2 = 0

print(ans,ans2)
#!/usr/bin/env python3
import collections as cl
import sys


def II():
    return int(sys.stdin.readline())


def MI():
    return map(int, sys.stdin.readline().split())


def LI():
    return list(map(int, sys.stdin.readline().split()))


def main():
    W, H, x, y = MI()
    ans = W * H / 2
    has_other = 1 if W / 2 == x and H / 2 == y else 0

    print(ans, has_other)


main()
W, H, x, y = (int(whxy) for whxy in input().split())

print(float(W)*float(H)/2, 1 if 2*x==W and 2*y==H else 0)
def main():
    W, H, x, y = map(int, input().split())
    pat = 0

    if x == W/2 and y == H/2:
        pat = 1

    print((W*H)/2.0, pat)

if __name__ == "__main__":
    main()
W,H,X,Y=map(int,input().split())

ans2=0
if ((W%2==0)*W//2==X)*(X>0) and ((H%2==0)*H//2==Y)*(Y>0):
    ans2=1

ans1=W*H/2

print(ans1,ans2)
w,h,x,y = map(int,input().split())
area = w*h/2
if x == w/2 and y == h/2:
    print(area, 1)
else:
    print(area,0)
mi = lambda : map(int, input().split())

w, h, x, y = mi()

s = w*h

if 2*x == w and 2*y == h:
    hantei = 1
else:
    hantei = 0

print(*[s/2, hantei])
W,H,x,y = map(int,input().split())

S = (W*H)/2
if x == W/2 and y == H/2:
    print(S,1)
else:
    print(S,0)
w,h,x,y = map(int,input().split())
ans = w*h/2
if x == w/2 and y == h/2:
    ans_2 = 1
else:
    ans_2 = 0
print(ans,ans_2)
def solve():
    A = list(map(int, input().split()))
    a,b,c,d = A
    s = a * b / 2
    b = 1 if a == c*2 and b == d*2 else 0
    ans = [s, b]
    print(*ans)
solve()
w, h, x, y = map(int, input().split())

ans = (w*h)/2
num = 0
if w/2 == x and h/2 == y:
    num = 1

print(ans,num)
w, h, x, y = map(int, input().split())
print(w*h/2)
if 2*x == w and 2*y == h:
  print(1)
else:
  print(0)
W, H, x, y = map(int, input().split())

area = W*H / 2
pl = x == W / 2 and y == H / 2
print(area, int(pl))
W,H,x,y = map(int,input().split())

if x == W/2 and y == H/2:
  res = 1
else:
  res = 0
  
print(W*H/2,res)
w,h,x,y = map(int,input().split())
s=0
ans=0
if w==2*x and h==2*y:
    ans=1
s=(w*h)/2
print(s,ans)
w, h, x, y = list(map(int,input().split()))
area = (w * h) / 2
if x == (w / 2) and y == (h / 2):
    print(area, 1)
else:
    print(area, 0)
w,h,x,y=map(int,input().split())

if x==(w/2)and y==(h/2):
    print(str((w*h)/2)+' 1')
else:
    print(str((w*h)/2)+' 0')
W,H,x,y=map(int,input().split())
a = 0
if x==W/2 and y == H/2:
  a=1
print(W*H/2,a)
w,h,x,y = map(int,input().split())
xx = w-x
yy = h-y
if x == xx and y == yy:
    a = 1
else:
    a = 0
print(w*h/2,a)
w,h,x,y = map(int, input().split())

t = w * h / 2

if x == w/2 and y == h/2:
  print(t, 1)
else:
  print(t, 0)
W, H, x, y = map(int, input().split())
if x == W/2 and y == H/2:
  ans = 1
else:
  ans = 0
print(W * H / 2, ans)
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
  print("{} {}".format(w*h/2,1))
else:
  print("{} {}".format(w*h/2,0))
w,h,x,y=map(int,input().split())
print(str(w*h/2)+' '+str(1*(w==2*x and h==2*y)))
W, H, x, y = map(int, input().split())
s = 0
if W == 2*x and H == 2*y:
  s = 1
S = W*H/2
print(S, s, sep =' ')
W,H,x,y = map(int,input().split())
print(W*H/2)
if(x == W/2 and y == H/2):
    print("1")
else:
    print("0")
import itertools
import math
import fractions
import functools
import copy

w, h, x, y = map(int, input().split())
ans = 0
if x == w / 2 and y == h / 2:
    ans = 1

print(w*h/2,ans)
W,H,x,y = map(int, input().split())

S = W*H/2
flag = 0

if x==W/2 and y==H/2:
    flag = 1
    
print(S, flag)
w,h,x,y=map(int,input().split())
p=w*h/2
a=1 if 2*x==w and 2*y==h else 0
print(p,a)
W, H, x, y = map(int, input().split())

ans = 0
if ((W/2)==x) & ((H/2)==y):
    ans = 1

print(W*H/2, ans)
W, H, x, y =  map(int,input().split())
print((H*W)/2, 1 if (x==W/2 and y==H/2) else 0)
W, H, x, y = map(int,input().split())

S = W*H / 2
if x == W / 2 and y == H / 2:
    print(S,1)
else:
    print(S,0)
w, h, x, y = map(int, input().split())

s_max = (w * h) / 2
if x == w / 2 and y == h / 2:
    print(s_max, 1)
else:
    print(s_max, 0)
def main():
    W, H, x, y = map(int, input().split())
    if x * 2 == W and y * 2 == H:
        print(W * H / 2, 1)
    else:
        print(W * H / 2, 0)


if __name__ == '__main__':
    main()
w, h, x, y = map(int, input().split())
str1 = f'{w * h / 2:.09f}'
str2 = '1' if w == x * 2 and h == y * 2 else '0'
print(' '.join([str1,str2]))
W,H,x,y = map(int,input().split())
if x == W/2 and y == H/2:
    ans = 1
else:
    ans = 0
print(W*H/2,ans)
w, h, x, y = map(int, input().split())

if x == w/2 and y == h/2:
    print(w * h / 2, 1)
else:
    print(w * h / 2, 0)
W, H, x, y = map(float, input().split())

center_x = W / 2
center_y = H / 2

area = W * H / 2

if center_x == x and center_y == y:
    print(f"{area} 1")
else:
    print(f"{area} 0")
W, H, x, y = map(int,input().split())

cx = W/2
cy = H/2

area = (W*H)/2
if x==cx and y==cy:
    judge = 1
else:
    judge = 0

print(f'{area:.09f}', judge)
W, H, x, y = map(int,input().split())
cg = [W/2, H/2]
if [x, y] == cg:
    print( W * H / 2, 1)
else:
    print(W * H / 2, 0)
w, h, x, y = map(int, input().split())
a = 1 if x*2 == w and y*2 == h else 0
print(w*h/2, a)
import sys

W, H, x, y = map(int, sys.stdin.readline().split())

if 2*x == W and 2*y == H:
    multi = 1
else:
    multi = 0

print(W*H/2, multi)
W,H,x,y = map(int,input().split())
scale = W*H/2
div = 0
if x==W/2 and y==H/2:
  div = 1
print(scale,div)
W, H ,x, y = map(int, input().split())
if W == H:
  if x == W/2 and y == H/2:
    can = 1
  else:
    can = 0
else:
  if x == W/2 or y == H/2:
    if x == W/2 and y == H/2:
      can = 1
    else:
      can = 0
  else:
    if y == (H/W)*x or y == (-H/W)*x:
      can = 0
    else:
      can = 1
 
print('{:.9f}'.format(W*H/2), can)
from decimal import Decimal

w, h, x, y = map(int, input().split())

print(Decimal(w*h/2), 1 if w == 2*x and h == 2*y else 0)
# そうか、長方形の中心を通れば全ての長方形を二等分できるのか
W,H,x,y = map(int,input().split())
if W / 2 == x and H / 2 == y:
    ans = 1
else:
    ans = 0
print(W*H/2,ans)
W, H, x, y = list(map(int, input().split()))

area = W * H / 2

checker = 0

if(x == W / 2 and y == H / 2):
    checker = 1

print(area, checker)
if __name__=="__main__":
    w,h,x,y=[int(x) for x in input().split()]

    a=(w*h)/2

    print(a,end=' ')
    
    if x/1==w/2 and y/1==h/2:
        print(1)
    else: print(0)
w, h, x, y = map(int, input().split())
count = 0
if w/2==x and h/2==y:
    count = 1
    print(w*h/2, count)
else:
    print(w*h/2, count)
w, h, x, y = map(int, input().split(' '))

area = w * h
half = area / 2

if x == w/2 and y == h/2:
    ans = 1
else:
    ans = 0

print(half, ans)
w, h, x, y = map(int, input().split())
center = (w/2, h/2)
ans2 = 1 if (x, y)==center else 0
ans1 = w*h/2
print(ans1, ans2)
w, h, x, y = map(int, input().split())

s = w*h/2

if w/2 == x and h/2 == y:
    t = 1
else:
    t = 0

print(s, t)
#ABC130 C-Rectangle Cutting 14:59

W,H,x,y = map(int, input().split())

def func(W,H,x,y):
    if x == W/2 and y == H/2:
        return W*H/2, 1
    else:
        return W*H/2, 0
print(*func(W,H,x,y))
W,H,x,y = map(int,input().split())
flag = 0
if x ==  W/2 and y ==  H/2:
    flag = 1
print(W*H/2,flag)
w,h,x,y=map(int,input().split())
print(w*h/2,int(x==w/2 and y==h/2))
#C
w,h,x,y = map(int,input().split())

if w / 2 == x and h / 2 == y:
    flg = True
else:
    flg = False

S = w * h / 2
    
if flg:
    print(S,1)
else:
    print(S,0)
def q3():
    W, H, x, y = (int(i) for i in input().split())

    # 最大になるのは面積のちょうど半分
    ans1 = W * H / 2

    # (x,y)が長方形の中心の場合1
    ans2 = 0
    if x*2 == W and y*2 == H:
        ans2 = 1

    print('{0:.6f} {1}'.format(ans1, ans2))


if __name__ == '__main__':
    q3()
import math
def main():
    t = [int(t)for t in input().split()]
    w,h,x,y = t[0],t[1],t[2],t[3]

    print(w*h/2, 1 if w/2==x and h/2 ==y else 0)

if __name__ == "__main__":
    main()
def ii():return int(input())
def iim():return map(int,input().split())
def iil():return list(map(int,input().split()))
def ism():return map(str,input().split())
def isl():return list(map(str,input().split()))

w,h,x,y = iim()
area = w*h/2

f = 1 if w/2 == x and h/2 == y else 0
print(area,f)
import sys
def input(): return sys.stdin.readline().strip()

def resolve():
    w,h,x,y=map(int, input().split())
    ans=w*h*0.5
    if x==w/2 and y==h/2:
        print(ans,1)
    else:
        print(ans,0)
resolve()
W, H, x, y = map(int, input().split())

print(W * H / 2, int(x == W / 2 and y == H / 2))
W, H, x, y = map(int, input().split())

if (x==W/2) and (y==H/2):
    d = 1
else:
    d = 0

print(W*H/2, d)
def main():
  import fractions
  
  w,h,x,y=map(float,input().split())
  
  if w/2==x and h/2==y:
    print(w*h/2,1)
  else:
    print(w*h/2,0)
  
if __name__=="__main__":
  main()
W, H, x, y = map(int, input().split())

print("{0} {1}".format(H * W / 2, int(x + x == W and y + y == H)))
def resolve():
    W,H,x,y=map(int,input().split())
    if (W,H)==(2*x,2*y):
        print(W*H/2, 1)
    else:
        print(W*H/2, 0)



resolve()
from decimal import Decimal
W, H, x, y = map(int, input().split())

if W == 2*x and H == 2*y:
    print(Decimal(W*H/2), 1)
else:
    print(Decimal(W*H/2), 0)
w, h, x, y = map(int, input().split())
ans = w * h / 2
n = 1 if w == x * 2 and h == y * 2 else 0
print(ans, n)
# https://atcoder.jp/contests/abc130/tasks/abc130_c

W, H, x, y = map(int, input().split())

num = 0
if x == W/2 and y == H/2:
    num = 1

print(W * H / 2, num)
w,h,x,y=map(int,input().split())
op=0
if w/2==x and h/2==y:
    op=1
print(w*h/2,op)
W, H, x, y = [int(i) for i in input().strip().split()]

S = (W*H) / 2

if (W % 2 == 0) and (H % 2 == 0) and (W // 2 == x) and (H // 2 == y):
  print(str(S) + " " + str(1))
else:
  print(str(S) + " " + str(0))
W, H, x, y = map(int, input().split())
print(W * H / 2, int((x == W / 2)&(y == H / 2)))
# 点(x, y)から長方形の中心を通る直線を引くと面積を半分にすることができ、分割された小さい方の面積が最大となる
# 点(x, y)が長方形の中心と一致する場合、直線は複数存在する

w, h, x, y = map(int, input().split())

s = w * h
s_min = s / 2

# 中心
a = w / 2
b = h / 2

divide = 0

if x == a and y == b:
    divide = 1
    print(s_min, divide)
else:
    print(s_min, divide)
w, h, x, y = map(int, input().split())

if x == w/2 and y == h/2:
  print(w*h/2, 1)
else:
  print(w*h/2, 0)
w,h,x,y = map(int,input().split())


if x==w/2 and y==h/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)
W, H, x, y = map(int, input().split())
print(W*H/2, int(2*x == W and 2*y == H))
W,H,x,y=map(int,input().split())
a1=W*H/2
a2=1 if x==W/2 and y==H/2 else 0
print(a1,a2)
w, h, x, y = map(int, input().split())


if x in [0, w] or y in [0, h]:
    print(w * h/2, 0)
else:
    if x * 2 == w and y * 2 == h:
        print(w * h / 2, 1)
    else:
        print(w * h/2, 0)
w, h ,x, y=map(int, input().split())
ans=w*h/2

if w==2*x and h==2*y:
    p=1
else:
    p=0

print(ans, p)
W,H,x,y = map(int,input().split())
print(H*W/2, int(W/2 == x and H/2 == y))
def main():
    W, H, x, y = map(int, input().split())

    if x * 2 == W and y * 2 == H:
        print(W * H / 2, 1)
        exit()

    print(W * H / 2, 0)


main()
def main():
    import sys
    input = sys.stdin.readline
    sys.setrecursionlimit(10**7)
    from collections import Counter, deque
    #from collections import defaultdict
    from itertools import combinations, permutations, accumulate, groupby
    #from itertools import product
    from bisect import bisect_left,bisect_right
    import heapq
    from math import floor, ceil
    #from operator import itemgetter

    #inf = 10**17
    #mod = 10**9 + 7

    w,h,x,y = map(int, input().split())
    if x==w/2 and y==h/2:
        print(w*h/2, 1)
    else:
        print(w*h/2, 0)

if __name__ == '__main__':
    main()
w, h, x, y = list(map(int, input().split()))

flag = 0

if x * 2 == w and y * 2 == h:
    flag = 1

print(w * h / 2, flag)
w,h,x,y=map(int,input().split())


if 2*y==h and 2*x==w:
    print(h*w/2,1)
else:
    print(h*w/2,0)
W,H,x,y = map(float,input().split())
if W/2 == x and H/2 == y:
    print(W*H/2,1)
else:
    print(W*H/2,0)
W, H, x, y = map(int, input().split())

if W == 2 * x and H == 2 * y:
  multiple = 1
else:
  multiple = 0
  
print(W * H /2, multiple)
w,h,x,y = map(int, input().split())

ans = w * h / 2

multiple = 0

if x * 2 == w and y * 2 == h:
    multiple = 1

print("{} {}".format(ans,multiple))
W, H, x, y = map(int, input().split())
area = W * H

if x == W / 2.0 and y == H / 2.0:
    print(area / 2.0, 1)
else:
    print(area / 2.0, 0)
#2つの長方形，ではない
W,H,x,y = map(int,input().split())
if x==W/2  and y==H/2:
    print(W*H/2,1)
else:
    print(W*H/2,0)
w,h,x,y=map(int,input().split())
if (x,y)==(w/2,h/2):
  frag=1
else:frag=0
print(w*h/2,frag)
W, H, x, y  = map(int, input().split())

center = 0

if W/2 == x and H/2 == y :
  center = 1


print(W*H/2,center)
import sys, math
from collections import defaultdict, deque, Counter
from bisect import bisect_left, bisect_right
from itertools import combinations, permutations, product
from heapq import heappush, heappop
from functools import lru_cache
input = sys.stdin.readline
rs = lambda: input().strip()
ri = lambda: int(input())
rl = lambda: list(map(int, input().split()))
mod = 1000000007
sys.setrecursionlimit(1000000)

W, H, x, y = rl()

area = H*W*0.5
flag = 0
if x*2 == W and y*2 == H:
	flag = 1
print(area, flag)
w,h,x,y=map(int,input().split())


if x==w/2 and y==h/2:
    a=1
else:
    a=0
print(w*h/2,a)
W,H,x,y = map(int, input().split())

area = str(W * H / 2)
if W / 2 == x and H / 2 == y:
  center = '1'
else:
  center = '0'
  
print(area + ' ' + center)
def main():
    w,h,x,y = map(int,input().split())
    if x==w/2 and y==h/2:
        print(w*h/2,1)
    else:
        print(w*h/2,0)

if __name__ == "__main__":
    main()
W,H,X,Y=map(int,input().split())

if X*2==W and Y*2==H:
    print(W*H/2,1)
else:
    print(W*H/2,0)
#

import sys
# sys.setrecursionlimit(100000)


def input():
    return sys.stdin.readline().strip()


def input_int():
    return int(input())


def input_int_list():
    return [int(i) for i in input().split()]


def main():
    w, h, x, y = input_int_list()
    area = (w * h) / 2
    bl = (w == 2 * x and h == 2 * y)
    print(area, 1 if bl else 0)
    return


if __name__ == "__main__":
    main()
w, h, x, y = map(int, input().split())
area = w * h
if x == w / 2 and y == h / 2:
    print(str(area / 2), "1")
else:
    print(str(area / 2), "0")
W, H, x, y = map(float, input().split())
print('{:.10f}'.format((W * H) / 2), end=" ")
print(1) if(x == W / 2 and y == H / 2) else print(0)
w,h,x,y = map(int,input().split())
print(w*h/2,int(w/2 == x and h/2 == y))
w,h,x,y = map(float,input().split())
if x == w/2 and y == h/2:
     print(w*h/2,1)
else:
     print(w*h/2,0)
w,h,x,y=map(int,input().split())
ma=w*h/2
W=w//2
H=h//2
if w%2==0 and h%2==0 and W==x and H==y:
    boo=1
else:
    boo=0

print(ma,boo)