시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB69312443.636%

문제

우체국에서 파는 우표 중에서 가격이 1원인 우표는 총 N종류가 있고, 2원인 우표는 총 M종류가 있다.

우표를 K원어치 구매하는 방법의 수를 구하는 프로그램을 작성하시오.

같은 종류의 우표를 여러 개 사도 가능하며, 우체국에는 우표가 무한대 만큼 있다. 정확하게 K원을 모두 사용해야 한다.

입력

첫째 줄에 N, M, K, P가 주어진다. (0 ≤ N, M ≤ 1000, 1 ≤ K ≤ 1000, 3 ≤ P ≤ 1,000,000, P는 소수)

출력

첫째 줄에 우표를 사는 방법의 수를 P로 나눈 나머지를 출력한다.

예제 입력 1

0 10 2 47

예제 출력 1

10

예제 입력 2

2 2 4 47

예제 출력 2

14

예제 입력 3

5 5 10 47

예제 출력 3

6
W3sicHJvYmxlbV9pZCI6IjI3NzE1IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjNmIwXHVkNDVjIFx1YWQ2Y1x1YjllNFx1ZDU1OFx1YWUzMCAoRWFzeSkiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzZiMFx1Y2NiNFx1YWQ2ZFx1YzVkMFx1YzExYyBcdWQzMGNcdWIyOTQgXHVjNmIwXHVkNDVjIFx1YzkxMVx1YzVkMFx1YzExYyBcdWFjMDBcdWFjYTlcdWM3NzQgMVx1YzZkMFx1Yzc3OCBcdWM2YjBcdWQ0NWNcdWIyOTQgXHVjZDFkIE5cdWM4ODVcdWI5NThcdWFjMDAgXHVjNzg4XHVhY2UwLCAyXHVjNmQwXHVjNzc4IFx1YzZiMFx1ZDQ1Y1x1YjI5NCBcdWNkMWQgTVx1Yzg4NVx1Yjk1OFx1YWMwMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzZiMFx1ZDQ1Y1x1Yjk3YyBLXHVjNmQwXHVjNWI0XHVjZTU4IFx1YWQ2Y1x1YjllNFx1ZDU1OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NTggXHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG48cD5cdWFjMTlcdWM3NDAgXHVjODg1XHViOTU4XHVjNzU4IFx1YzZiMFx1ZDQ1Y1x1Yjk3YyBcdWM1ZWNcdWI3ZWMgXHVhYzFjIFx1YzBhY1x1YjNjNCBcdWFjMDBcdWIyYTVcdWQ1NThcdWJhNzAsIFx1YzZiMFx1Y2NiNFx1YWQ2ZFx1YzVkMFx1YjI5NCBcdWM2YjBcdWQ0NWNcdWFjMDAgXHViYjM0XHVkNTVjXHViMzAwIFx1YjljY1x1ZDA3YyBcdWM3ODhcdWIyZTQuIFx1YzgxNVx1ZDY1NVx1ZDU1OFx1YWM4YyBLXHVjNmQwXHVjNzQ0IFx1YmFhOFx1YjQ1MCBcdWMwYWNcdWM2YTlcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBOLCBNLCBLLCBQXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDAgJmxlOyBOLCBNICZsZTsgMTAwMCwgMSAmbGU7IEsgJmxlOyAxMDAwLCAzICZsZTsgUCAmbGU7IDEsMDAwLDAwMCwgUFx1YjI5NCBcdWMxOGNcdWMyMTgpPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWM2YjBcdWQ0NWNcdWI5N2MgXHVjMGFjXHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc1OCBcdWMyMThcdWI5N2MgUFx1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyNzcxNSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkxvdmVseSBzdGFtcHMgKEVhc3kpIiwiZGVzY3JpcHRpb24iOiI8cD5MaXR0bGUgUGV0ZXIgaXMgY29sbGVjdGluZyBzdGFtcHMuIFJlY2VudGx5LCBoZSB3ZW50IHNob3BwaW5nIHdpdGggaGlzIG1vdGhlciBMdWNpYSBhbmQgZ3Vlc3Mgd2hhdDogQXMgdGhleSB3ZXJlIGdvaW5nIGFyb3VuZCB0aGUgcG9zdCBvZmZpY2UsIGhlIHN0YXJ0ZWQgdG8gYmxhY2ttYWlsIGhpcyBtb20sIGFzIG9ubHkgdGhlIGxpdHRsZSBib3lzIGNhbi4gQXQgdGhlIHBvc3Qgb2ZmaWNlLCB0aGV5IHdlcmUgc2VsbGluZyBOIGRpZmZlcmVudCB0eXBlcyBvZiBvbmUtZG9sbGFyIHN0YW1wcyBhbmQgTSBkaWZmZXJlbnQgdHlwZXMgb2YgdHdvLWRvbGxhciBzdGFtcHMuPFwvcD5cclxuXHJcbjxwPlBldGVyIGdvdCBleGFjdGx5IEsgZG9sbGFycyBmcm9tIGhpcyBtb20sIGFuZCBoZSB3YW50cyB0byBzcGVuZCBhbGwgb2YgdGhlbSBvbiBzdGFtcHMuIE5vdGUgdGhhdCBoZSBjYW4gYnV5IG1vcmUgc3RhbXBzIG9mIHRoZSBzYW1lIHR5cGUuIFlvdSBtYXkgYXNzdW1lIHRoYXQgdGhlIHBvc3Qgb2ZmaWNlIGhhcyBhbiBpbmZpbml0ZSBzdG9jayBvZiBlYWNoIHR5cGUgb2Ygc3RhbXAuPFwvcD5cclxuXHJcbjxwPk5vdywgUGV0ZXIgaXMgd29uZGVyaW5nIGluIGhvdyBtYW55IHdheXMgaGUgY2FuIGJ1eSB0aGUgc3RhbXBzLjxcL3A+XHJcblxyXG48cD5HaXZlbiBhcmUgdGhlIGludGVnZXJzIE4sIE0sIEssIGFuZCBhIHByaW1lIG51bWJlciBQLjxcL3A+XHJcblxyXG48cD5Zb3VyIHRhc2sgaXMgdG8gY29tcHV0ZSB0aGUgdmFsdWUgWiBtb2QgUCwgd2hlcmUgWiBpcyB0aGUgKHBvc3NpYmx5IGh1Z2UpIG51bWJlciBvZiB3YXlzIGluIHdoaWNoIFBldGVyIGNhbiBzcGVuZCBhbGwgSyBkb2xsYXJzIG9uIHN0YW1wcy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlNpbmdsZSBsaW5lIGNvbnRhaW5pbmcgdGhlIGludGVnZXJzIE4sIE0sIEssIGFuZCBQLiZuYnNwO1lvdSBtYXkgYXNzdW1lIHRoYXQgMyAmbGU7IFAgJmxlOyAxMDAwMDAwLCZuYnNwOzAgJmxlOyBOLCBNICZsZTsgMTAwMCBhbmQgMSAmbGU7IEsgJmxlOyAxMDAwLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPk91dHB1dCBhIHNpbmdsZSBsaW5lIHdpdGggYSBzaW5nbGUgaW50ZWdlcjogVGhlIG51bWJlciBvZiBkaWZmZXJlbnQgd2F5cyB0byBidXkgc3RhbXBzLCBtb2R1bG8gUC48XC9wPlxyXG4iLCJoaW50IjoiPHA+SW4gdGhlIGZpcnN0IHRlc3QgY2FzZSwgd2UgbXVzdCBidXkgb25lIDItZG9sbGFyIHN0YW1wIGFuZCB0aGVyZSBhcmUgMTAgdHlwZXMuPFwvcD5cclxuXHJcbjxwPkluIHRoZSBzZWNvbmQgdGVzdCBjYXNlLCB3ZSBoYXZlIHRoZXNlIG9wdGlvbnM6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+YnV5IHR3byAyLWRvbGxhciBzdGFtcHM6IDMgd2F5cyB0byBkbyBzbzxcL2xpPlxyXG5cdDxsaT5idXkgYSAyLWRvbGxhciBzdGFtcCBhbmQgdHdvIDEtZG9sbGFyIHN0YW1wczombmJzcDsyJm5ic3A7JnRpbWVzOyZuYnNwOzMgPSA2Jm5ic3A7d2F5cyB0byBkbyBzbzxcL2xpPlxyXG5cdDxsaT5idXkgZm91ciAxLWRvbGxhciBzdGFtcHM6IDUgd2F5cyB0byBkbyBzbzxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlRoZXJlZm9yZSB0aGUgYW5zd2VyIGlzJm5ic3A7KDMgKyA2ICsgNSkgbW9kIDQ3ID0gMTQgbW9kIDQ3ID0gMTQuPFwvcD5cclxuIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d