'use strict';
function Main(input) {
const ary = (input.split(" ")).map(str => Number(str));
  const h = ary[0];
  const w = ary[1];
  const a = ary[2];
  const b = ary[3];
let wid = [];
for (let i=0; i<w; i++) {
  wid.push(1);
}
for (let j=0; j<h-a-1; j++) {
  for(let i=0; i<w-1; i++) {
    wid[i+1] += wid[i];
  }
}
wid.splice(0,b);
for (let j=0; j<a; j++) {
  for(let i=0; i<w-b-1; i++) {
    wid[i+1] += wid[i];
  }
}
if (wid[w-b-1] <1000000000) {
   console.log(wid[w-b-1]);
} else {
   console.log(wid[w-b-1] % (1000000000+7));
}
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));