peterverebics/CodeNet_Python_118 huggingface dataset:
w,h,x,y=map(int,input().split())

if w/2==x and h/2==y:
  print(str((h*w/2))+' '+str(1))
  
else:
  print(str((h*w/2))+' '+str(0))
def do():
    w,h,x,y=map(int,input().split())
    ar=w*h
    if w/2==x and h/2==y:
        return "{} 1".format(ar/2)
    else:
        return "{} 0".format(ar/2)
print(do())
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, end=' ')
if x == w / 2 and y == h / 2:
    print('1')
else:
    print('0')
W, H, x, y = list(map(int, input().split()))
s_max = W * H / 2
m = 1 if (x == W / 2) and (y == H / 2) else 0
print(s_max, m)
w, h, x, y = list(map(int, input().split()))

a = w*h/2
m = "1" if (x==w/2) and (y==h/2) else "0"

print(str(a) + " " + m)
w,h,x,y=map(int, input().split())
S= w*h/2
ans = 1 if (x+x==w) and (y+y==h) else 0
print(S, ans)
#%%
W, H, x, y = map(int, input().split())

# 最大はちょうど半分に切ったとき = x, yがどこにあっても中心を通ればちょうど半分
s = W * H / 2
# x, yが中心の時は無限に切り方がある
if W / 2 == x and  H / 2 == y:
    w = 1
else:
    w = 0

print(s, w)
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())

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

print(w*h /2 ,1 if x+x == w and y+ y ==h else 0 )
import sys
input=sys.stdin.buffer.readline
import os
from math import*


w,h,x,y=map(int,input().split())
area=w*h
#ans1=min((w*y),(area-(w*y)))
#ans2=min((x*h),(area-(x*h)))
#if ans1==ans2:
#	print(ans1,1)
#else:
#	print(max(ans1,ans2),0)
print((area/2),1 if x==w/2 and y==h/2 else 0)
# input
W, H, x, y = map(int, input().split())

# check
ans = (W * H) / 2

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

print(h * w / 2, cnt)
A, B, C, D = map(int, input().split())
if(C+C==A and D+D==B):
  print(A*B/2, 1)
else:
  print(A*B/2, 0)
import sys

read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 9)
INF = 1 << 60
MOD = 1000000007


def main():
    W, H, x, y = map(int, readline().split())

    ans = [W * H / 2]

    if W == 2 * x and H == 2 * y:
        ans.append(1)
    else:
        ans.append(0)

    print(*ans)
    return


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

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

s = w*h/2

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

print(str(s)+" "+str(d))
# 長方形のど真ん中の点を通る直線で分ければ半分にできます
w,h,x,y = map(float,input().split())
half_w = w / 2
half_h = h / 2
max_area = w * h / 2
if x == half_w and y == half_h:
  print("{:.9f} 1".format(max_area))
  
else:
  print("{:.9f} 0".format(max_area))
w,h,x,y=map(int,input().split())
print(w*h/2)
if w/2==x and h/2==y:
  print(1)
else:
  print(0)
W, H, x, y = map(int, input().split())
print(W*H/2, int(W/2==x and H/2==y))
import sys
from collections import deque, Counter, defaultdict
from fractions import gcd
input = sys.stdin.readline

def eprint(s):
    if type(s) != type('str'):
        s=str(s)

    sys.stderr.write(s+'\n')
    return

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

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 = [int(x) for x in input().split()]
print(w*h/2, int(2 * x == w and 2 * y == h))
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 = map(int, input().split())

ans1 = (W*H)/2
if W == X*2 and H == Y*2:
    ans2 = 1
else:
    ans2 = 0
print(ans1, ans2)
w,h,x,y = map(int, input().split())
a = w*h/2
b = 0
if (w%2 == 0 and w//2 == x):
    if (h%2 == 0 and h//2 == y):
        b = 1
print(*[a,b])
w,h,x,y = map(int,input().split())
ans = 0
if(2*x==w)and(2*y==h):
  ans = 1
print(w*h/2, ans)
w,h,x,y=map(int,input().split())
a = 0
if(h==2*y and w ==2*x):
  a +=1
print(w*h/2,a)
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())

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

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

ans2=0
if (x==w/2 and y==h/2):
    ans2=1
print(w*h/2,ans2)
[W, H, x, y] = [int(i) for i in input().split()]
ans = 0
if x * 2 == W and y * 2 == H:
    ans = 1
print(str(W*H/2.0)+' '+str(ans))
w, h, x, y = map(int,input().split())

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

if __name__ == '__main__':
    main()
'''
Created on 2020/08/29

@author: harurun
'''
def main():
  import sys
  pin=sys.stdin.readline
  pout=sys.stdout.write
  perr=sys.stderr.write
  
  W,H,x,y=map(int,pin().split())
  ans=W*H/2
  pout(f"{ans} ")
  if W-x==x and H-y==y:
    print(1)
  else:
    print(0)
  return 
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 == x * 2 and H == y * 2: print(W * H / 2, 1)
else: print(W * H / 2, 0)
w, h , x, y = map(int, input().split())
area = w * h / 2
m = 0
if x * 2 == w and y * 2 == h:
    m = 1

print(area, m)
w,h,x,y = map(int,input().split())
wariko = 0
if x == w/2 and y == h/2:
    wariko = 1
print(w*h/2,wariko)
from decimal import Decimal
W, H, x, y = map(int, input().split())
Wi = W * 10 ** 9
Hi = H * 10 ** 9
men = Decimal(W * H / 2)
judge = 0
if x == W / 2 and y == H / 2:
  judge = 1
print("{0:.10f} {1:.0f}".format(men, judge))
w, h, x, y = map(int, input().split())
area_max = w * h / 2
if w / 2 == x and h / 2 == y:
  yes_no = 1
else:
  yes_no = 0

print(area_max, yes_no)
W,H,x,y = map(int,input().split())
print(W*H/2,1 if(2*x==W and 2*y==H) else 0)
import sys
import os


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    W, H, x, y = list(map(float, sys.stdin.buffer.readline().split()))
    ret = (W * H) / 2
    p = x == W/2 and y == H/2
    print(ret, 1 if p else 0)


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

First = min(W * (H - y), W * y)
Second = min(x * H, (W - x) * H)
check = 0
if x * 2 == W and y * 2 == H:
    check = 1
print(W * H / 2, check)
W, H, x, y = map(int, input().split())
ans1 = W * H / 2
cen_x, cen_y = W/2, H/2
if cen_x == x and cen_y == y:
  ans2 = 1
else:
  ans2 = 0
print(str(ans1) + " " + str(ans2))
W, H, x, y = map(int, input().split())
FLAG = '0'

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

answer = (W / 2) * H
print(answer, FLAG)
w,h,x,y=map(int,input().split())
print('{:.10f}'.format(w*h/2),int(x*2==w and y*2==h))
W,H,X,Y = map(int,input().split())
a = W*H/2
b = 1 if X*2==W and Y*2==H else 0
print(a,b)
W, H, x, y = list(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 = map(int, input().split())
can = 0
if x == W/2 and y == H/2:
    can = 1
print("{} {}".format(str(W * H / 2), str(can)))
W,H,x,y=map(int,input().split())
if x==W/2 and y==H/2:
  S=(H*W)/2
  n=1
  print(S,n)
else:
  S=(H*W)/2
  n=0
  print(S,n)
W,H,x,y = map(int,input().split())

#print(W,H,x,y)
area =  "{0:.6f}".format(float(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())

M = W*H

if x == W/2 and y == H /2:
  print(M/2,1)
else:
  print(M/2,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(int,input().split())

f = 0

if x * 2 == w and y * 2 == h:
    f += 1

print((w * h) / 2, f)
X, H, x, y = [int(x) for x in input().split()]

if 2 * x == X and 2 * y == H:
    print((X * H) / 2, 1)
else:
    print((X * H) / 2, 0)
W, H, x, y = map(int, input().split())
p = 0
if (x, y) == (W/2, H/2):
    p = 1
print('{} {}'.format(W*H/2, p))
W,H,x,y = map(int,input().split())
is_center = 0
if x == W/2 and y == H/2:
    is_center = 1
print((W*H)/2,is_center)
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())
s = w * h
dx, dy = w / 2, h / 2
if (x == dx) & (y == dy):
  print(s / 2, 1)
else:
  print(s / 2, 0)
W,H,x,y = map(int,input().split())

max = W*H/2
many = 1 if x==W/2 and y==H/2 else 0
print(max,many)
T,Y,x,y=map(int,input().split())
a='0'
if T/2==x and Y/2==y:
  a='1'
print(T*Y/2,a)
W, H, x, y = map(int, input().split())

area = W * H / 2
ways = 0
if x == W / 2 and y == H / 2:
    ways += 1

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

center_x = W / 2
center_y = H / 2
area = W * H / 2

if x == center_x and y == center_y:
    print(area, 1)
else:
    print(area, 0)
W, H, x, y = list(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 = [int(i) for i in 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())
area = float(w)*float(h)/2
ans = 0
if x == w/2 and y == h/2:
    ans=1
print(area, ans)
W, H, x, y = map(int, input().split())
print(W*H/2, 1 if (x*2 == W) & (y*2 == H) else 0)
w, h, x, y=map(int, input().split())

if w==2*x and h==2*y:
  print(str(w*h/2)+" "+str(1))
else:
  print(str(w*h/2)+" "+str(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())

area=w*h/2

if x==w/2 and y==h/2:
    print(area,1)
else:
    print(area,0)
W, H, u, v = map(int, input().split())
ans = []
ans.append(W * H / 2)
ans.append(int(2 * u == W and 2 * v == H))
print(*ans)
def resolve():
    '''
    code here
    '''
    W, H, x, y = [int(item) for item in input().split()]

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

    print(W*H/2, res)


if __name__ == "__main__":
    resolve()
#!/usr/bin/python3
# -*- coding:utf-8 -*-

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

if __name__=='__main__':
  main()
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")
H,W,x,y=map(int,input().split())
print(H*W/2,end=" ")
if x*y*4==H*W:
  print(1)
else:
  print(0)
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())

s = W*H/2
print(s)

if x*2 == W and y*2 == H:
  print("1")
else:
  print("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)
import collections
import numpy as np
import sys
import copy

W,H,X,Y=map(int,input().split())
#A=list(map(int,input().split()))

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


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

area = W*H*0.5

if(W == x*2 and H == y*2):
    frac = "1"
else:
    frac = "0"

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

print(w*h/2,hou)
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
ways = 0
if x == W / 2 and y == H / 2:
    ways = 1
print(s / 2, ways, sep=" ")
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)
# import itertools
# import math


def solve(W, H, x, y):
    area = W * H
    half_line_count = 0
    if (W / 2) == x and (H / 2) == y:
        half_line_count = 1
    return [area / 2, half_line_count]


# N = int(input())
# S = input()
W, H, x, y = map(int, input().split())
# A = list(map(int, input().split()))

# P = []
# S = []
# for i in range(N):
#     pp, ss  = map(int, input().split())
#     P.append(pp)
#     S.append(ss)

print(*solve(W, H, x, y))
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(int, input().split())
check = 0

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

print((W*H)/2, check)
def submit():
    w, h, x, y = map(int, input().split())
    print(w * h / 2, int(x == w / 2 and y == h / 2))


if __name__ == "__main__":
    submit()
W,H,x,y=map(int, input().split())
a1=W*H/2
a2=1 if x*2==W and y*2==H else 0
print(a1,a2)
from decimal import *
W, H, x, y = list(map(int, input().split()))

print("{:.5f}".format(Decimal(W) * Decimal(H) / Decimal(2)), 1 if x+x == W and y+y == H else 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(int, input().split())

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

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

w, h, x, y = map(int, sys.stdin.readline().split())

def main():
    s = w * h / 2
    f = (x == w / 2 and y == h / 2) & 1
    return s, f

if __name__ == '__main__':
    ans = main()
    print(*ans, sep=' ')
W,H,x,y = map(int,input().split())
s = W*H/2
if W/2==x and H/2==y:
    print(s,1)
else:
    print(s,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 (x==W/2 and y==H/2):#passing through right in the middle
    print(W*H/2,1)
else:
    print(W*H/2,0)
w,h,x,y = map(int,input().split())

total = w*h
ans = total/2
route = 0
if w == x*2 and h == y*2:
    route = 1

print(ans, route)
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*0.5, int(x==W*0.5 and y==H*0.5))
W,H,x,y=map(int,input().split())
s=W*H/2
x=1 if W/2==x and H/2==y else 0
print('{} {}'.format(s,x))
w,h,x,y=map(int,input().split())
if x*y:print(w*h/2,int(w/x==h/y==2))
else:print(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)
w, h, x, y = map(int, input().split())
flg = 0

if(2*x==w and 2*y==h): flg = 1

print(w*h/2, end=' ')
print(flg)
W ,H ,x ,y = list(map(int,input().split()))

ans = W*H/2

if x == W/2 and y == H/2:
    judge = 1
else:
    judge = 0
    
print(ans ,judge)
W, H, x, y = map(int, input().split())
print(W*H/2, 1 if 2*x==W and 2*y==H else 0)
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

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

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

if w/2==x and h/2==y:
    ans2=1
else:
    ans2=0
print('{} {}'.format(ans1,ans2))
w, h, x, y = map(float, input().split())

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

ans1 = W / 2 * H
if x == W / 2 and y == H / 2:
    ans2 = 1
else:
    ans2 = 0

print(f"{ans1} {ans2}")
W, H, x, y = map(int, input().split())

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

S = W * H / 2
print(S, t)
def main():
    W, H, x, y = map(int, input().split(" "))
    S = W * H / 2
    ans = 0
    if 2 * x == W:
        ans += 1
    if 2 * y == H:
        ans += 1
    if x * H == y * W:
        ans += 1
    if ans > 1:
        ans = 1
    else:
        ans = 0
    print(str(S) + " " + str(ans))


if __name__ == '__main__':
    main()
W, H, x, y = map(int, input().split())
if 2*x == W and 2*y == H:
    B=1
else: 
    B=0
print(W*H/2, B)
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())
cnt=0
if w/2 == x and h/2==y:
  cnt=1
print(w*h/2,cnt)
w, h, x, y = map(int, input().split())
print('{} {}'.format(str(w*h/2), str(0 + (x == w/2 and y == h/2))))
w,h,x,y = map(int,input().split())
if x == w/2 and y == h/2:
  flag = 1
else:
  flag = 0
print(h*w/2,flag)
# 初期入力
import sys
input = sys.stdin.readline
W,H,x,y = (int(x) for x in input().split())
ans1 =0
ans2 =0
if W/2 ==x and H/2 ==y:
    ans2= 1
else:
    ans2 =0
ans1 =W *H/2
print(ans1,ans2)
w,h,x,y=map(int,input().split())
ans=w*h/2.000000000
a=0

if(x==w/2 and y==h/2):a=1
print('{:.7f}'.format(ans),a)
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)
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 = [int(n) for n in input().split()]

cx, cy = W/2, H/2

flg = 0
if x == cx and y == cy:
    flg = 1

print(W*H/2, flg)
import sys
input = sys.stdin.readline

def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))

def main():
    mod=10**9+7
    W,H,x,y=MI()
    ans=(W*H)/2
    if x==W/2 and y==H/2:
        print(ans,1)
    else:
        print(ans,0)
    
    

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

print(W*H/2)
if float(x) == W / 2 and float(y) == H / 2:
    print(1)
else:
    print(0)
W, H, x, y = list(map(int, input().split()))
s = W * H / 2
j = (W / 2) == x and (H / 2) == y
print(s, int(j))
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*2==w and y*2==h:
    print(str(w*h/2)+' 1')
else:
    print(str(w*h/2)+' 0')
W, H, x, y = map(int, input().split())
mid = [W/2, H/2]
ans1 = W*H/2
if mid[0] == x and mid[1] == y:
    ans2 = 1
else:
    ans2 = 0
print(ans1, ans2)
def main():
    w, h, x, y = map(int, input().split())


    ans = w * h / 2
    hasDivision = 1 if x + x == w and y + y == h else 0

    print(ans, hasDivision)

if __name__ == '__main__':
    main()
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())

c = (W/2, H/2)
if c == (x, y):
    print(W*H/2, 1)
else:
    print(W*H/2, 0)
w,h,x,y = map(int, input().split())
a = []
a.append(w*h/2)
if x*2==w and y*2==h:
  a.append(1)
else:
  a.append(0)
print(' '.join(map(str,a)))
w, h, x, y = map(int, input().split())
ans = w * h / 2
if x * 2 == w and y * 2 == h:
    print(ans, 1)
else:
    print(ans, 0)
w, h, x, y = map(int, input().split())
print(w * h / 2, end=' ')
if x*2 == w and y*2 == h:
    print(1)
else:
    print(0)
w, h, x, y = map(int, input().split())

s = w * h / 2
if w == 2 * x and h == 2 * y:
    print(s, 1)
else:
    print(s, 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 = map(int, input().split())
ans = w*h/2
if x == w/2 and y == h/2:
    print(ans)
    print(1)
else:
    print(ans)
    print(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 W%2 == 0 and H%2 == 0 and 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())
ans = str(w*h/2)
if w==x*2 and h==y*2:
    ans = ans+" 1"
else:
    ans = ans+" 0"
print(ans)
#!/usr/bin/env python3

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

if w/2 == x and h/2 == y:
    print(w*h/2, 1)
else:
    print(w*h/2, 0)
h,w,x,y=map(int, input().split())
print(h*w / 2, end = " ")
if(y+y==w and x+x == h):
    print(1)
else:
    print(0)
import math
import collections
from operator import mul
from functools import reduce

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

if W/2==x:
    flag+=1
if H/2==y:
    flag+=1

if flag==-1:
    flag=0
print("{0:.6f}".format(float(W*H/2)),flag)
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 = 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 = map(int,input().split())
S = W*H/2

if X==W/2 and Y==H/2:
  print(S,1)
else:
  print(S,0)
#!/usr/bin/env python3
import sys
import math
import decimal
import itertools
from itertools import product
from functools import reduce
INF = 10**19
def input():
    return sys.stdin.readline()[:-1]
def sort_zip(a:list, b:list):
    z = zip(a, b)
    z = sorted(z)
    a, b = zip(*z)
    a = list(a)
    b = list(b)
    return a, b

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())

s=(w*h)/2
if w==2*x and h==2*y:
    print(s,1)
else:
    print(s,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(int, input().split())

if W/2 == x and H/2 == y:
    print('{} {}'.format((W*H)/2 ,1))
else:
    print('{} {}'.format((W*H)/2, 0))
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)
w, h, x, y = map(int, input().split())

ans = 0
if w == x * 2 and h == y * 2:
    ans = 1
print(w * h / 2, ans)
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)
def main():
    W, H, x, y = map(int, input().split())
    area = (H*W)/2
    mid_x, mid_y = W/2, H/2
    if x == mid_x and y == mid_y:
        ans = 1
    else:
        ans = 0
    print(area, ans)

if __name__ == "__main__":
    main()
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())
#面積が大きくない方の最大値
s=0.5*w*h
#複数存在するかの判定
i=0
if 2*x==w and 2*y==h:
    i+=1
print(s,i)
w,h,x,y=map(int,input().split())
if x!=w/2 or y!=h/2:
  print(w*h/2,0)
else:
  print(w*h/2,1)
W,H,x,y = map(int,input().split())

  
if (x == W/2 or y == H/2 or y == -(H*x/W)+H or y == (H*x)/W):
  if x == W/2 and y == H/2:
    print(W*H/2,1)
  else:
    print(W*H/2,0)
elif (x == 0 or x == W) and (y == 0 or y == H):
  print(W*H/2,0) 
else:
  print(W*H/2,0)
def solve():
    w, h, x, y = map(int, input().split())
    print(w * h / 2, end=' ')
    print(1 if 2*x == w and 2*y == h else 0)

if __name__ == '__main__':
    solve()
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
    ways=1
else:
    ways=0
print(w*h/2,ways)
def solve():
    W, H, x, y = map(int, input().split())
    if W/2 == x and H/2 == y:
        print('%f %d\n' % (W*H/2, 1))
    else:
        print('%f %d\n' % (W*H/2, 0))


solve()
LI = lambda: list(map(int, input().split()))

W, H, x, y = LI()


def main():
    s = W * H / 2
    if 2 * x == W and 2 * y == H:
        t = 1
    else:
        t = 0
    print(s, t)


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

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

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