Language: C++

void main() {
	auto ip = readAs!(int[]), H = ip[0], W = ip[1];
	auto ip2 = readAs!(int[]), h = ip2[0], w = ip2[1];
	writeln((H-h)*(W-w));
}

// ===================================

import std.stdio;
import std.string;
import std.functional;
import std.algorithm;
import std.range;
import std.traits;
import std.math;
import std.container;
import std.bigint;
import std.numeric;
import std.conv;
import std.typecons;
import std.uni;
import std.ascii;
import std.bitmanip;
import core.bitop;

T readAs(T)() if (isBasicType!T) {
	return readln.chomp.to!T;
}
T readAs(T)() if (isArray!T) {
	return readln.split.to!T;
}

T[][] readMatrix(T)(uint height, uint width) if (!isSomeChar!T) {
	auto res = new T[][](height, width);
	foreach(i; 0..height) {
		res[i] = readAs!(T[]);
	}
	return res;
}

T[][] readMatrix(T)(uint height, uint width) if (isSomeChar!T) {
	auto res = new T[][](height, width);
	foreach(i; 0..height) {
		auto s = rs;
		foreach(j; 0..width) res[i][j] = s[j].to!T;
	}
	return res;
}

int ri() {
	return readAs!int;
}

double rd() {
	return readAs!double;
}

string rs() {
	return readln.chomp;
}


Compiler output:
a.cc:35:20: error: too many decimal points in number
   35 |         foreach(i; 0..height) {
      |                    ^~~~~~~~~
a.cc:43:20: error: too many decimal points in number
   43 |         foreach(i; 0..height) {
      |                    ^~~~~~~~~
a.cc:45:28: error: too many decimal points in number
   45 |                 foreach(j; 0..width) res[i][j] = s[j].to!T;
      |                            ^~~~~~~~
a.cc:1:1: error: '::main' must return 'int'
    1 | void main() {
      | ^~~~
a.cc: In function 'int main()':
a.cc:2:19: error: 'readAs' was not declared in this scope
    2 |         auto ip = readAs!(int[]), H = ip[0], W = ip[1];
      |                   ^~~~~~
a.cc:3:26: error: expected ',' or ';' before '!' token
    3 |         auto ip2 = readAs!(int[]), h = ip2[0], w = ip2[1];
      |                          ^
a.cc:4:18: error: 'H' was not declared in this scope
    4 |         writeln((H-h)*(W-w));
      |                  ^
a.cc:4:20: error: 'h' was not declared in this scope
    4 |         writeln((H-h)*(W-w));
      |                    ^
a.cc:4:24: error: 'W' was not declared in this scope
    4 |         writeln((H-h)*(W-w));
      |                        ^
a.cc:4:26: error: 'w' was not declared in this scope
    4 |         writeln((H-h)*(W-w));
      |                          ^
a.cc:4:9: error: 'writeln' was not declared in this scope
    4 |         writeln((H-h)*(W-w));
      |         ^~~~~~~
a.cc: At global scope:
a.cc:9:1: error: 'import' does not name a type
    9 | import std.stdio;
      | ^~~~~~
a.cc:9:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:10:1: error: 'import' does not name a type
   10 | import std.string;
      | ^~~~~~
a.cc:10:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:11:1: error: 'import' does not name a type
   11 | import std.functional;
      | ^~~~~~
a.cc:11:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:12:1: error: 'import' does not name a type
   12 | import std.algorithm;
      | ^~~~~~
a.cc:12:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:13:1: error: 'import' does not name a type
   13 | import std.range;
      | ^~~~~~
a.cc:13:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:14:1: error: 'import' does not name a type
   14 | import std.traits;
      | ^~~~~~
a.cc:14:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:15:1: error: 'import' does not name a type
   15 | import std.math;
      | ^~~~~~
a.cc:15:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:16:1: error: 'import' does not name a type
   16 | import std.container;
      | ^~~~~~
a.cc:16:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:17:1: error: 'import' does not name a type
   17 | import std.bigint;
      | ^~~~~~
a.cc:17:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:18:1: error: 'import' does not name a type
   18 | import std.numeric;
      | ^~~~~~
a.cc:18:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:19:1: error: 'import' does not name a type
   19 | import std.conv;
      | ^~~~~~
a.cc:19:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:20:1: error: 'import' does not name a type
   20 | import std.typecons;
      | ^~~~~~
a.cc:20:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:21:1: error: 'import' does not name a type
   21 | import std.uni;
      | ^~~~~~
a.cc:21:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:22:1: error: 'import' does not name a type
   22 | import std.ascii;
      | ^~~~~~
a.cc:22:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:23:1: error: 'import' does not name a type
   23 | import std.bitmanip;
      | ^~~~~~
a.cc:23:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:24:1: error: 'import' does not name a type
   24 | import core.bitop;
      | ^~~~~~
a.cc:24:1: note: C++20 'import' only available with '-fmodules-ts'
a.cc:26:1: error: 'T' does not name a type
   26 | T readAs(T)() if (isBasicType!T) {
      | ^
a.cc:29:1: error: 'T' does not name a type
   29 | T readAs(T)() if (isArray!T) {
      | ^
a.cc:33:1: error: 'T' does not name a type
   33 | T[][] readMatrix(T)(uint height, uint width) if (!isSomeChar!T) {
      | ^
a.cc:41:1: error: 'T' does not name a type
   41 | T[][] readMatrix(T)(uint height, uint width) if (isSomeChar!T) {
      | ^
a.cc: In function 'int ri()':
a.cc:51:16: error: 'readAs' was not declared in this scope
   51 |         return readAs!int;
      |                ^~~~~~
a.cc:51:22: error: expected ';' before '!' token
   51 |         return readAs!int;
      |                      ^
      |                      ;
a.cc:51:23: error: expected primary-expression before 'int'
   51 |         return readAs!int;
      |                       ^~~
a.cc: In function 'double rd()':
a.cc:55:16: error: 'readAs' was not declared in this scope
   55 |         return readAs!double;
      |                ^~~~~~
a.cc:55:22: error: expected ';' before '!' token
   55 |         return readAs!double;
      |                      ^
      |                      ;
a.cc:55:23: error: expected primary-expression before 'double'
   55 |         return readAs!double;
      |                       ^~~~~~
a.cc: At global scope:
a.cc:58:1: error: 'string' does not name a type
   58 | string rs() {
      | ^~~~~~