/* add your value() based on this code */
#include <stdio.h>
int value(int type, int width, int height, int length) {
int unit;
switch (type) {
case 79:
unit = 30;
break;
case 47:
unit = 10;
break;
case 29:
unit = 4;
break;
case 82:
unit = 5;
break;
case 26:
unit = 3;
break;
case 22:
unit = 9;
break;
default:
return -1;
break;
}
if (width <= 0 || height <= 0 || length <= 0)
return -2;
int min = (width < height)? width : height;
int temp1 = (width > height)? width : height;
int temp2 = (min > length)? min : length;
min = (min < length)? min : length;
int volume = min * min * min;
int val = volume * volume * (temp1 / min) * (temp2 / min) * unit;
printf("min: %d, temp1: %d, temp2: %d, volume: %d, val: %d\n", min
, temp1
, temp2
, volume
, val
);
if ((temp1 % min) == 0 && (temp2 % min) == 0) {
return val;
} else if ((temp2 % min) == 0) {
val = val + value(type, (temp1 % min), temp2, min);
} else if ((temp1 % min) == 0) {
val = val + value(type, (temp2 % min), temp1, min);
} else if ((temp1 % min) > (temp2 % min)) {
val = val + value(type, (temp1 % min), temp2, min) + value(type, (temp2 % min), (temp1-(temp1 % min)), min);
} else if ((temp2 % min) > (temp1 % min)) {
val = val + value(type, (temp2 % min), temp1, min) + value(type, (temp1 % min), (temp2-(temp2 % min)), min);
}
}
int main () {
int type, width, height, length;
scanf ( "%d%d%d%d", &type
, &width
, &height
, &length
); printf ( "%d", value
( type
, width
, height
, length
) ); return 0;
}
LyogYWRkIHlvdXIgdmFsdWUoKSBiYXNlZCBvbiB0aGlzIGNvZGUgKi8KI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgdmFsdWUoaW50IHR5cGUsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGxlbmd0aCkgewoJaW50IHVuaXQ7Cglzd2l0Y2ggKHR5cGUpIHsKCQljYXNlIDc5OgoJCQl1bml0ID0gMzA7CgkJCWJyZWFrOwoJCWNhc2UgNDc6CgkJCXVuaXQgPSAxMDsKCQkJYnJlYWs7CgkJY2FzZSAyOToKCQkJdW5pdCA9IDQ7CgkJCWJyZWFrOwoJCWNhc2UgODI6CgkJCXVuaXQgPSA1OwoJCQlicmVhazsKCQljYXNlIDI2OgoJCQl1bml0ID0gMzsKCQkJYnJlYWs7CgkJY2FzZSAyMjoKCQkJdW5pdCA9IDk7CgkJCWJyZWFrOwoJCWRlZmF1bHQ6CgkJCXJldHVybiAtMTsKCQkJYnJlYWs7Cgl9CgoJaWYgKHdpZHRoIDw9IDAgfHwgaGVpZ2h0IDw9IDAgfHwgbGVuZ3RoIDw9IDApCgkJcmV0dXJuIC0yOwoKCWludCBtaW4gPSAod2lkdGggPCBoZWlnaHQpPyB3aWR0aCA6IGhlaWdodDsKCWludCB0ZW1wMSA9ICh3aWR0aCA+IGhlaWdodCk/IHdpZHRoIDogaGVpZ2h0OwoJaW50IHRlbXAyID0gKG1pbiA+IGxlbmd0aCk/IG1pbiA6IGxlbmd0aDsKCW1pbiA9IChtaW4gPCBsZW5ndGgpPyBtaW4gOiBsZW5ndGg7CglpbnQgdm9sdW1lID0gbWluICogbWluICogbWluOwoJaW50IHZhbCA9IHZvbHVtZSAqIHZvbHVtZSAqICh0ZW1wMSAvIG1pbikgKiAodGVtcDIgLyBtaW4pICogdW5pdDsKCXByaW50ZigibWluOiAlZCwgdGVtcDE6ICVkLCB0ZW1wMjogJWQsIHZvbHVtZTogJWQsIHZhbDogJWRcbiIsIG1pbiwgdGVtcDEsIHRlbXAyLCB2b2x1bWUsIHZhbCk7CgoJaWYgKCh0ZW1wMSAlIG1pbikgPT0gMCAmJiAodGVtcDIgJSBtaW4pID09IDApIHsKCQlyZXR1cm4gdmFsOwoJfSBlbHNlIGlmICgodGVtcDIgJSBtaW4pID09IDApIHsKCQl2YWwgPSB2YWwgKyB2YWx1ZSh0eXBlLCAodGVtcDEgJSBtaW4pLCB0ZW1wMiwgbWluKTsKCX0gZWxzZSBpZiAoKHRlbXAxICUgbWluKSA9PSAwKSB7CgkJdmFsID0gdmFsICsgdmFsdWUodHlwZSwgKHRlbXAyICUgbWluKSwgdGVtcDEsIG1pbik7Cgl9IGVsc2UgaWYgKCh0ZW1wMSAlIG1pbikgPiAodGVtcDIgJSBtaW4pKSB7CgkJdmFsID0gdmFsICsgdmFsdWUodHlwZSwgKHRlbXAxICUgbWluKSwgdGVtcDIsIG1pbikgKyB2YWx1ZSh0eXBlLCAodGVtcDIgJSBtaW4pLCAodGVtcDEtKHRlbXAxICUgbWluKSksIG1pbik7Cgl9IGVsc2UgaWYgKCh0ZW1wMiAlIG1pbikgPiAodGVtcDEgJSBtaW4pKSB7CgkJdmFsID0gdmFsICsgdmFsdWUodHlwZSwgKHRlbXAyICUgbWluKSwgdGVtcDEsIG1pbikgKyB2YWx1ZSh0eXBlLCAodGVtcDEgJSBtaW4pLCAodGVtcDItKHRlbXAyICUgbWluKSksIG1pbik7Cgl9IAoKfQoKaW50IG1haW4gKCkgewoJaW50IHR5cGUsIHdpZHRoLCBoZWlnaHQsIGxlbmd0aDsKCXNjYW5mICggIiVkJWQlZCVkIiwgJnR5cGUsICZ3aWR0aCwgJmhlaWdodCwgJmxlbmd0aCApOwoJcHJpbnRmICggIiVkIiwgdmFsdWUgKCB0eXBlLCB3aWR0aCwgaGVpZ2h0LCBsZW5ndGggKSApOwoJcmV0dXJuIDA7Cn0=