Problem:
 Score : 300 points    Problem Statement There is a rectangle in a coordinate plane. The coordinates of the four vertices are (0,0) , (W,0) , (W,H) , and (0,H) .
You are given a point (x,y) which is within the rectangle or on its border. We will draw a straight line passing through (x,y) to cut the rectangle into two parts. Find the maximum possible area of the part whose area is not larger than that of the other. Additionally, determine if there are multiple ways to cut the rectangle and achieve that maximum.      Constraints  1 \leq W,H \leq 10^9  0\leq x\leq W  0\leq y\leq H  All values in input are integers.         Input Input is given from Standard Input in the following format:  W  H  x  y       Output Print the maximum possible area of the part whose area is not larger than that of the other, followed by 1 if there are multiple ways to cut the rectangle and achieve that maximum, and 0 otherwise.  The area printed will be judged correct when its absolute or relative error is at most 10^{-9} .        Sample Input 1 2 3 1 2      Sample Output 1 3.000000 0  The line x=1 gives the optimal cut, and no other line does.       Sample Input 2 2 2 1 1      Sample Output 2 2.000000 1

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

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

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

area = W*H
val = area/2
if x == W/2 and y == H/2:
    num = 1
else:
    num = 0
print(val,end=" ")
print(num)

Solution (Python):
w,h,x,y=map(float,input().split())

if x==w/2 and y==h/2:
  print('{:.10f}'.format(w*h/2)," 1")
else:
  print('{:.10f}'.format(w*h/2)," 0")

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

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

print(W*H/2,f)

Solution (Python):
W,H,x,y=map(int, input().split())
is_center = 1 if x==W/2 and y==H/2 else 0
print("{} {}".format(str(W*H/2), str(is_center)))

Solution (Python):

import sys
import copy
import collections
from bisect import bisect_left
from bisect import bisect_right
from collections import defaultdict
from heapq import heappop, heappush
import numpy as np
import statistics
from statistics import mean, median,variance,stdev
import math

def main():
	W, H , x, y = map(int, input().split(" "))
	ans1 = W * H /2
	ans2 = 0
	if x == W/2 and y == H/2:
		ans2 = 1
	
	print("{} {}".format(ans1, ans2))
	
	
if __name__ == "__main__":
	main()

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

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

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

print(W*H/2, 1 if W==2*x and H==2*y else 0)

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

Solution (Python):
W, H, x, y = [int(_) for _ in input().split()]

result1 = W * H / 2
result2 = 1 if x == W / 2 and y == H / 2 else 0

print(result1, result2)

Solution (Python):

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)

Solution (Python):
import sys
input = sys.stdin.readline

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

m = W * H


print(m / 2, 1 if W / 2 == x and H / 2 == y else 0)

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

print(W*H/2,1 if x*2==W and y*2==H else 0)

Solution (Python):

import sys


def solve(W: int, H: int, x: int, y: int):
    if x * 2 == W and y * 2 == H:
        p = 1
    else:
        p = 0
    print(W * H / 2, p)
    return



def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    W = int(next(tokens))  
    H = int(next(tokens))  
    x = int(next(tokens))  
    y = int(next(tokens))  
    solve(W, H, x, y)

if __name__ == '__main__':
    main()

Solution (Python):
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)

Solution (Python):
w,h,x,y = list(map(int,input().split(" ")))
size = w*h/2
if x == w/2 and y == h/2:
    pos = 1
else:
    pos = 0
print(str(size) + " " + str(pos))

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

s=w*h/2
if (2*x==w and 2*y==h):
    z=1
else:
    z=0
print("{:.6f}".format(s),end=" ")
print(z)

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

if(2*x == w and 2*y ==h) :
    ff = 1
else :
    ff = 0

print(str(w * h / 2) + " " + str(ff))

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

gx = w/2
gy = h/2

if x==gx and y==gy:
    a = 1
else:
    a = 0


print(w*h/2,a)

Solution (Python):
[w,h,x,y]=[int(i) for i in input().split()]

a=int(0)

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

print(str(w*h/2)+" "+str(a))

Solution (Python):
a,b,x,y = map(int,input().rstrip().split(' '))
r = 0
if x + x == a and y + y == b:
    r = 1
print(a*b/2,r)

Solution (Python):
a,b,c,d =map(int,raw_input().split())

if c == a*.5 and d == b*.5:
    print a*b*.5, 1
else:
    print a*b*.5, 0

Solution (Python):
import sys
input = sys.stdin.readline

w,h,x1,y1 = (int(i) for i in input().split())

if w/2==x1 and h/2==y1:
    ans1=w*h/2
    ans2=1
else:
    ans1=w*h/2
    ans2=0    
    
print(ans1,ans2)

Solution (Python):

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

Solution (Python):
W,H,x,y=(int(a) for a in input().split())

S=W*H/2



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

else:
    o=0

print("{0:.6f}".format(S),o)

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

print('{:.6f}'.format(W * H / 2), int((x + x == W) and (y + y == H)))

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

Solution (Python):
import math
import fractions
import copy
import numpy as np
def j(q):
    if q==1: print("POSSIBLE")
    elif q == 0:print("IMPOSSIBLE")
    exit(0)
rem = pow(10,9)+7
"""
def ct(x,y):
    if (x>y):print("+")
    elif (x<y): print("-")
    else: print("?")
"""

def ip():
    return int(input())
def iprow():
    return [int(i) for i in input().split()]
def printrow(a):
    for i in a:
        print(i)
def combinations(n,r):
    if n<r:return 0
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))
def permutations(n,r):
    if n<r:return 0
    return math.factorial(n) // math.factorial(n - r)
def lcm(x, y):
    return (x * y) // fractions.gcd(x, y)


n,m,x,y= (int(i) for i in input().split())       









print((n*m)/2,end =' ')
if n == 2*x and m == y*2:
    print(1)
else: print(0)

Solution (Python):
w,h,x,y = map(int,input().split(" "))

if x == w/2 and y == h/2:
    print('{:.6f}'.format(w*h/2),1)
else:
    print('{:.6f}'.format(w*h/2),0)

Solution (Python):
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)

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

Solution (Python):
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)

Solution (Python):
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)

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

S = W * H / 2
multi = 2 * x == W and 2 * y == H

print(S, int(multi))

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

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

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

Solution (Python):


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


if __name__ == "__main__":
    main()

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

Solution (Python):
s = input().split()
W = int(s[0])
H = int(s[1])
x = int(s[2])
y = int(s[3])

if abs(W/2 - x) < 10**-9 and abs(H/2 - y) < 10**-9:
    print(str(W*H/2) + " " + "1")
else:
    print(str(W*H/2) + " " + "0")

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

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

Solution (Python):
w, h, x, y = list(map(int, input().split()))
print(w * h / 2, int((w==x*2) and (h==y*2)))

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

Solution (Python):
W, H, x, y = map(lambda x: int(x), input().split())

ans1 = W*H/2
ans2 = 0

if x == W/2 and y == H/2:
    ans2 = 1
print(ans1, ans2)

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

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

Solution (Python):
W, H, x, y = map(int, input().split())
if (W == x * 2) and (H == y * 2):
    s = 1
else:
    s = 0
ans = [W * H / 2, s]
print(*ans)

Solution (Python):
W, H, x, y = map(int, input().split())
k = W * H / 2
print(k, int(W % 2 == 0 and H % 2 == 0 and W // 2 == x and H // 2 == y))

Solution (Python):
H, W, x, y = list(map(int, input().split()))

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

Solution (Python):
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)

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

Solution (Python):
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)

Solution (Python):

from decimal import Decimal
w,h,x,y = list(map(lambda x:Decimal(int(x)),input().split()))

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

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

Solution (Python):
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)

Solution (Python):
def main():
  w, h, x, y = map(int, input().split())

  print('{:.10f} {}'.format(w * h / 2, int(x * 2 == w and y * 2 == h)))


if __name__ == '__main__':
  main()

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

middle_x = W / 2
middle_y = H / 2

print(W * H / 2)
if middle_x == x and middle_y == y:
	print(1)
else:
	print(0)

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

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

Solution (Python):
W,H,x,y=map(int,input().split())
A=(W*H)/2
if x==W/2 and y==H/2:
    print(format(A,'.6f'),1)
else:
    print(format(A,'.6f'),0)

Solution (Python):
W, H, x, y = map(int, input().split())
print(H*W/2, int((2*y == H)&(2*x == W)))

Solution (Python):
W,H,x,y = map(int,input().split())
K = []
K.append((W*H)/2)
if x == W/2 and y == H/2:
  K.append(1)
else:
  K.append(0)
print(K[0],K[1])

Solution (Python):
W, H, x, y = map(int, input().split())
s = W * H / 2
t = 0
if W % 2 == 0 and H % 2 == 0:
    if W // 2 == x and H // 2 == y:
        t = 1
print(s,t)

Solution (Python):
W, H, x, y = [int(i) for i in input().split()]

s = (W * H / 2)
p = 1 if W == x * 2 and H == y * 2 else 0

print('{:.6f}'.format(s), p)

Solution (Python):



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


b = 0

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

Solution (Python):
W,H,x,y = list(map(int,input().split()))
area = W*H/2.0
mx = W / 2.0
my = H / 2.0
if mx - x == 0 and my - y == 0:
    n = 1
else:
    n = 0
print('{} {}'.format(area,n))

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

area = w * h / 2

multiple = int((w/2 == x) and (h/2 == y))

print(area, multiple)

Solution (Python):
def main():
    W, H, x, y = map(int, input().split())
    S = W*H/2
    if W%2==0 and H%2==0 and W//2==x and H//2==y:
        P = 1
    else:
        P = 0
    print(S, P)

if __name__ == "__main__":
    main()

Solution (Python):
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)

Solution (Python):
W, H, x, y = [int(elem) for elem in input().split()]

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

Solution (Python):
W, H, x, y = [int(x) for x in input().split(' ')]
s = W * H / 2
i = 0
if 2*x == W and 2*y == H:
  i = 1
print(s, i)

Solution (Python):
W, H , x, y = map(float, input().split())
menseki = W*H/2.0

if x*2.0 == W and y*2.0 == H:
    print(menseki, 1)
else:
    print(menseki, 0)

Solution (Python):
from functools import reduce


def main():
    W, H, x, y = [int(a) for a in input().split()]

    aaa = x * 2 == W and y * 2 == H
    print((W * H) / 2, 1 if aaa else 0)


if __name__ == '__main__':
    main()

Solution (Python):
w, h, x, y = map(int, input().split())
s = w * h / 2
i = (x == w/2 and y == h/2) * 1
print(str(s) + ' ' + str(i))

Solution (Python):
from decimal import Decimal
w,h,x,y = map(int, input().split())
if x==w/2 and y==h/2:
    print(Decimal(w*h/2).quantize(Decimal('0.000000')),1)
else:
    print(Decimal(w*h/2).quantize(Decimal('0.000000')),0)

Solution (Python):
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)

Solution (Python):
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)

Solution (Python):
def abc():
    w, h, x, y = map(int, input().split())

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


abc()

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

Solution (Python):
def main():
    W, H, x, y = map(int, input().split())
    barycente = [W/2, H/2]
    num = ""
    if barycente[0] == x and barycente[1] == y:
        num = "1"
    else:
        num = "0"
    print(barycente[0]*H, num)
main()

Solution (Python):
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)

Solution (Python):
W, H, x, y = map(int, input().rstrip().split())
 
max_area = W * H / 2.0
if x == W / 2 and y == H / 2:
    print(max_area, 1)
else:
    print(max_area, 0)

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

v_bisect = (w%2==0) and (w//2==x)
h_bisect = (h%2==0) and (h//2==y)

print((w*h)/2, 1 if v_bisect and h_bisect else 0)

Solution (Python):
W, H, x, y = map(int, input().rstrip().split())

max_area = W * H / 2.0
if x == W / 2 and y == H / 2:
    print(max_area, 1)
else:
    print(max_area, 0)

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

ans = (w * h) /2


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

Solution (Python):
in1 = list(map(int, input().split()))

W = in1[0]
H = in1[1]
x = in1[2]
y = in1[3]

isCenter = 1 if x == W/2 and y == H/2 else 0
print(W*H/2, isCenter)

Solution (Python):
W,H,x,y = map(float,input().split())
a = 0
if 2*x == W and 2*y == H:
     a = 1

print(str(W*H/float(2))+" "+str(a))

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

ans =w*h/2

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

Solution (Python):
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)

Solution (Python):
import sys
def wi(): return list(map(int, sys.stdin.readline().split()))
W, H, x, y = wi()
ans = (H * W) / 2
if x == W / 2 and y == H / 2:
    print(ans, 1)
else:
    print(ans, 0)

Solution (Python):
W,H,x,y = map(int,input().split())
i = int(W-x==x and H-y==y)
print(W*H/2,i)

Solution (Python):
import math, string, itertools, fractions, heapq, collections, re, array, bisect, copy, functools, random
import sys
from collections import deque, defaultdict, Counter; from heapq import heappush, heappop
from itertools import permutations, combinations, product, accumulate, groupby
from bisect import bisect_left, bisect_right, insort_left, insort_right
from operator import itemgetter as ig
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20; INF = float("INF"); ans = 0; tmp = 0; ansli = []; tmpli = []; candili = []
eps = 1.0 / 10 ** 10; mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]; ddn = dd + [(-1, 1), (1, 1), (1, -1), (-1, -1)]; ddn9 = ddn + [(0, 0)]
"""for dx, dy in dd:
        nx = j + dx; ny = i + dy
            if 0 <= nx < w and 0 <= ny < h:"""
def wi(): return list(map(int, sys.stdin.readline().split()))
def wip(): return [int(x) - 1 for x in sys.stdin.readline().split()]
def ws(): return sys.stdin.readline().split()
def i(): return int(sys.stdin.readline())
def s(): return input()
def hi(n): return [i() for _ in range(n)]
def hs(n): return [s() for _ in range(n)]
def mi(n): return [wi() for _ in range(n)]
def mip(n): return [wip() for _ in range(n)]
def ms(n): return [ws() for _ in range(n)]

W, H, x, y = wi()
ans = (H * W) / 2
if x == W / 2 and y == H / 2:
    print(ans, 1)
else:
    print(ans, 0)

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

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

print((W*H)*(1/2),e)

Solution (Python):
import sys
import numpy as np


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


main()

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

print(W*H/2, int(x==W/2 and y == H/2))

Solution (Python):
line = input()
numbers = line.split(" ")
w, h, x, y = int(numbers[0]), int(numbers[1]), int(numbers[2]), int(numbers[3])
area = float(w*h/2)
print(str(area), end=" ")
if x == w/2 and y == h/2:
  print("1")
else:
  print("0")

Solution (Python):


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

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

print(H*W/2,end=" ")
if x==W/2 and y==H/2:
	print(1)
else:
	print(0)

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

Solution (Python):


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

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

Solution (Python):
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)

Solution (Python):
def resolve():
	w,h,x,y=map(int,input().split())
	cho=0
	if (w/2,h/2)==(x,y):
		cho=1
	print('{:.6f} {}'.format(w*h/2,cho))
resolve()

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

if (x == w / 2) and (y == h / 2):
    flag = 1
else:
    flag = 0

print(w * h / 2, flag)

Solution (Python):


w, h, x, y = map(int, input().split())
ans = w * h / 2
num = 0
if x == w/2 and y == h/2:
    num = 1
print("{} {}".format(ans, num))

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

S=float((w*h))/2.0
judge = 0

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

print(str(S)+" "+str(judge))

Solution (Python):
W, H, X, Y = map(int, input().split())
print(W*H/2, 1 if W==X*2 and H==Y*2 else 0)

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

Solution (Python):


a,b,x,y=map(int,raw_input().split())
if 2*x==a and 2*y==b:
 res=1
else:
 res=0
print 1.0*a*b/2,res

Solution (Python):
inp=list(map(int,input().split()))
if 2*inp[2]==inp[0] and 2*inp[3]==inp[1]:
  ans=1;
else:
  ans=0;
print('%.6f %d'%(inp[0]*inp[1]*0.5,ans))

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

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

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

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

Solution (Python):

"""考え方
(x, y)と長方形の中心を両方通るような直線で分割すると、大きくない方の面積は全体の半分の面積。

・与えられた(x, y)が長方形の中心の場合、区切り方は無限にある。
・与えられた(x, y)が長方形の中心でない場合、一通りに求まる。
"""
def solve():
    W, H, x, y = list(map(int, input().split()))

    ans_area = W*H/2

    if x == W/2 and y == H/2:
        is_multi = 1
    else:
        is_multi = 0
    
    print(ans_area, is_multi)

if __name__ == "__main__":
    solve()

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

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

print(w * h / 2.0)

if x == w / 2.0 and y == h / 2.0:
    print(1)
else:
    print(0)

Solution (Python):
W, H, x, y = map(float, input().split())
if x == W/2 and y == H/2:
  chohuku = 1
else:
  chohuku = 0
print(str((H*W)/2) + " " + str(chohuku))

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

Solution (Python):
a,b,c,d=map(int,input().split())
print(a*b/2,1 if a/2==c and b/2==d else 0 )

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

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

Solution (Python):
import math
import string
import itertools
import fractions
import heapq
import collections
import re
import array
import bisect
import sys
import random
import time
inf = 10**9


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

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


if __name__ == '__main__':
    main()

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

Solution (Python):
w,h,x,y=map(int,input().split())
a=w*h/2
if w==x*2 and h==y*2:
    b=1
else:
    b=0
print("{} {}".format(a,b))

Solution (Python):
W,H,x,y = map(int,input().split())
ans = 0

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

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

if w == 1 and h == 1:
    print(str(0.5) + " " + str(0))
    exit()

print(str(int(w*h/2)) + " " , end="")
print(1 if w/2 == x and h/2 == y else 0)

Solution (Python):
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)

Solution (Python):

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

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

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

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

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

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

print(w*h/2)

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

Solution (Python):
s=list(map(int,input().split()))
a=0
a=s[0]*s[1]
a=a/2
b=0
c=0
b=s[0]/2
c=s[1]/2
if s[2]==b and s[3]==c:
  print("{0:.10f}".format(a),1)
else:
  print("{0:.10f}".format(a),0)

Solution (Python):
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)

Solution (Python):
w,h,x,y = map(int,input().split())
mid = [0.5*w,0.5*h]
ans = w*h/2
if x ==mid[0] and y == mid[1]:
    cnt = '1'
else:
    cnt = '0'
print(ans,cnt)

Solution (Python):
w, h, x, y= map(int,input().split())
print(w*h/2,int((w==2*x)and(h==2*y)))

Solution (Python):
W, H, x, y = map(float, input().split())

S = W * H / 2

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

print(S, flag)

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

Solution (Python):
w, h, x, y = map(int, input().split())
ans = []
ans.append(w * h / 2)
if w / 2 == x and h / 2 == y:
    ans.append(1)
else:
    ans.append(0)
print(" ".join(map(str, ans)))

Solution (Python):
W, H, x, y = map(int, input().split())
flg = 1 if x + x == W and y + y == H else 0
ans = H * W / 2

print("{0} {1}".format(ans, flg))

Solution (Python):
W,H,x,y=map(int,input().split())
area=W*H/2
div = 1 if 2*x==W and 2*y==H else 0
print('{} {}'.format(area,div))

Solution (Python):
W,H,x,y = map(int,input().split())
ls = [] 
ls.append((W * H)/2)
a = 0
if x == W/2 and y == H/2:
    a = 1
print(max(ls),a)

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

Solution (Python):
w, h, x, y = map(int, input().split())
s = w * h / 2.0
n = 0
if w / 2 == x and h / 2 == y:
    n = 1
print(s, n)

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

ans1 = W*H/2

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

print(ans1,ans2)

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

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

print("{:.10f} {}".format(w * h / 2, 1 if x * 2 == w and y * 2 == h else 0))

Solution (Python):
def main():
	W, H, x, y = map(int, input().split())
	a = W*H/2
	p = 0
	if x==W//2 and y==H//2 and W%2==0 and H%2==0:
		p = 1
	print(" ".join([str(a), str(p)]))


if __name__ == '__main__':
	main()

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

print(W*H/2, int(x*2 == W and y*2 == H))

Solution (Python):
from sys import stdin

def main():
    W, H, X, Y = map(int, input().split())
    print(W * H / 2, int(X * 2 == W and Y * 2 == H))

input = lambda: stdin.readline()
main()

Solution (Python):
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)

Solution (Python):
def solve(w, h, x, y):
    area = w*h / 2
    multiple = int((2*x == w) and (2*y == h))
    return (area, multiple)

w, h, x, y = map(int, input().split())
print("%f %d" % solve(w, h, x, y))

Solution (Python):
W,H,x,y = map(int,input().split())
is_multiple_answer = 0
if H == y+y and W == x+x:
  is_multiple_answer = 1

print(W*H/2,is_multiple_answer)

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

Solution (Python):
W, H, x, y = map(int, raw_input().split())

flag = (2 * x == W) and (2 * y == H)
print("{0} {1}".format((W*H)/2.0, int(flag)))

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

s = w*h/2
f = 0
if w%2 == 0 and h%2 == 0 and w//2 == x and h//2 == y:
    f = 1
print(s,f)

Solution (Python):
w,h,x,y=list(map(int,input().split(" ")))
s=w*h/2
flag=int(x==(w/2) and y==(h/2))
print(s, flag)

Solution (Python):
w,h,x,y=list(map(int,input().split(" ")))
s=w*h/2
flag=int(x==(w/2) and y==(h/2))
print(s, flag)

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

surface = W * H / 2

is_multi = int(x == W / 2 and y == H / 2)

print(surface, is_multi)

Solution (Python):



W,H,x_0,y_0 = map(float, input().split())

S = "{0:.6f}".format(float(W*H/2))
if W == 2 * x_0 and H == 2 * y_0:
    print(S, 1)
else:
    print(S, 0)

Solution (Python):
w,h,x,y=map(int,input().split());print(w*h/2,+(w/2+h/2==x+y))

Solution (Python):
w,h,x,y=map(int,input().split());print(w*h/2,+(w/2+h/2==x+y))

Solution (Python):
w,h,x,y=map(int,input().split());print(w*h/2,(w/2+h/2==x+y)+0)

Solution (Python):
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)

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

Solution (Python):

import sys


def solve(W: int, H: int, x: int, y: int):
    ans1 = H*W/2

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

    print(ans1,ans2)
    return



def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    W = int(next(tokens))  
    H = int(next(tokens))  
    x = int(next(tokens))  
    y = int(next(tokens))  
    solve(W, H, x, y)

if __name__ == '__main__':
    main()

Solution (Python):

import sys


def solve(W: int, H: int, x: int, y: int):
    ans1 = H*W/2

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

    print(ans1,ans2)
    return



def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    W = int(next(tokens))  
    H = int(next(tokens))  
    x = int(next(tokens))  
    y = int(next(tokens))  
    solve(W, H, x, y)

if __name__ == '__main__':
    main()

Solution (Python):
W, H, x, y = map(int, input().split())
     
res1 = W * H / 2
res2 = int((2*x == W) and (2*y == H))
     
print(res1, res2)

Solution (Python):
W, H, x, y = map(float, input().split())

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

Solution (Python):
w, h, x, y = (int(c) for c in input().split())

if x == w and y == h:
    print((w * h) / 2)
    print(0)

elif x == w/2 and y == h/2:
    print((w * h) / 2)
    print(1)

elif x != w/2 or y != h/2:
    print((w * h) / 2)
    print(0)

elif x != w/2 and y != h/2:
    print((w * h) / 2)
    print(0)

Solution (Python):
W,H,x,y=map(int,input().split())
if x==W/2 and y==H/2:
    print(W*H/2,1)
elif not x or not y:
    print(W*H/2,0)
elif x/W==y/H or x/W==(H-y)/H:
    print(W*H/2,0)
else:
    print(W*H/2,0)

Solution (Python):
W, H, x, y = list(map(int, input().split()))

print("{:f} {}".format(float(W * H / 2), int(x * 2 == W and y * 2 == H)))

Solution (Python):

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


if (W/2 == x) and (H/2 == y):
    print("{:.9f}".format(W*H/2),1)
else:
    print("{:.9f}".format(W*H/2),0)

Solution (Python):
W,H,x,y = map(int, input().split())
area = W*H/2
print(area, end=' ')
if x == W/2 and y == H/2:
    print(1)
else:
    print(0)

Solution (Python):
w,h,x,y = (int(i) for i in input().split())
if x*2!=w or y*2!=h: print(w*h*0.5,0)
else: print(w*h*0.5,1)

Solution (Python):
w,h,x,y = map(int, input().split())
print('{:.6f} {}'.format(w*h/2, 1 if x+x==w and y+y==h else 0))

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

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

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

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

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

ans_1 = float(w) * float(h) / 2

ans_2 = 0
if x + x == w and y + y == h:
    ans_2 = 1
else:
    ans_2 = 0

print(ans_1, ans_2)

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

ans_2 = 0
if x + x == w and y + y == h:
    ans_2 = 1
else:
    ans_2 = 0

print(float(w) * float(h) / 2, ans_2)

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

Solution (Python):

def solve():
    a, b, x, y = [int(i) for i in input().split()]

    print(a * b / 2, 1 if 2 * x == a and 2 * y == b else 0)


if __name__ == '__main__':
    solve()