
unittest
{
	assert( [ "2 3 1 2" ].parse.expand.solve == "3.000000000 0" );
	assert( [ "2 2 1 1" ].parse.expand.solve == "2.000000000 1" );
}



import std.conv;
import std.range;
import std.stdio;
import std.string;
import std.typecons;

void main()
{
	stdin.byLineCopy.parse.expand.solve.writeln;
}

auto parse( Range )( Range input )
if( isInputRange!Range && is( ElementType!Range == string ) )
{
	auto whxy = input.front.split.to!( long[] );
	return tuple( whxy[ 0 ], whxy[ 1 ], whxy[ 2 ], whxy[ 3 ] );
}

auto solve( long w, long h, long x, long y )
{
	// (x,y)と長方形の中心を通る直線で分割する（つまり面積÷2が分割後の最大サイズ）
	// (x,y) == 中心 のときだけ複数分割方法がある
	return format( "%0.9f %d", w * h / 2.0L, ( x * 2 == w && y * 2 == h ) );
}
