process.stdin.setEncoding("utf8"); var reader = require("readline").createInterface({ input: process.stdin, }); reader.on("line", (line) => { let endflag = 0; let tyunyuhuragu = ""; let osenkaunta = 0; const kanzyahairetu = line.split(' ', 4); if (kanzyahairetu[2] > 0) { kanzyahairetu[2] = kanzyahairetu[2] - 1; tyunyuhuragu = 2; osenkaunta += 1; } else if (kanzyahairetu[0] > kanzyahairetu[1]) {//Aに入れれるとき kanzyahairetu[0] = kanzyahairetu[0] - 1; tyunyuhuragu = 0; osenkaunta += 1; } else if (kanzyahairetu[1] > 0) {//Aに入れれずBに入れれるとき kanzyahairetu[1] = kanzyahairetu[1] - 1; tyunyuhuragu = 1; osenkaunta += 1; } else if (kanzyahairetu[3] > 0) {//A,B,Oに入れれずABに入れれるとき kanzyahairetu[3] = kanzyahairetu[3] - 1; tyunyuhuragu = 3; osenkaunta += 1; } else { process.stdout.write("0"); } do { switch (tyunyuhuragu) { case 0: if (kanzyahairetu[0] > 0) { kanzyahairetu[0] = kanzyahairetu[0] - 1; tyunyuhuragu = 0; osenkaunta += 1; } else if (kanzyahairetu[3] > 0) { kanzyahairetu[3] = kanzyahairetu[3] - 1; tyunyuhuragu = 3; osenkaunta += 1; } else { process.stdout.write(String(osenkaunta)); endflag = 1; } break; case 1: if (kanzyahairetu[1] > 0) { kanzyahairetu[1] = kanzyahairetu[1] - 1; tyunyuhuragu = 1; osenkaunta += 1; } else if (kanzyahairetu[3] > 0) { kanzyahairetu[3] = kanzyahairetu[3] - 1; tyunyuhuragu = 3; osenkaunta += 1; } else { process.stdout.write(String(osenkaunta)); endflag = 1; } break; case 2: if (kanzyahairetu[2] > 0) { kanzyahairetu[2] = kanzyahairetu[2] - 1; tyunyuhuragu = 2; osenkaunta += 1; } else if (kanzyahairetu[0] > kanzyahairetu[1]) { kanzyahairetu[0] = kanzyahairetu[0] - 1; tyunyuhuragu = 0; osenkaunta += 1; } else if (kanzyahairetu[1] > 0) { kanzyahairetu[1] = kanzyahairetu[1] - 1; tyunyuhuragu = 1; osenkaunta += 1; } else if (kanzyahairetu[3] > 0) { kanzyahairetu[3] = kanzyahairetu[3] - 1; tyunyuhuragu = 3; osenkaunta += 1; } else { process.stdout.write(String(osenkaunta)); endflag = 1; } break; case 3: if (kanzyahairetu[3] > 0) { kanzyahairetu[3] = kanzyahairetu[3] - 1; tyunyuhuragu = 3; osenkaunta += 1; } else { process.stdout.write(String(osenkaunta)); endflag = 1; } break; } } while (endflag < 1) });