시간 제한메모리 제한제출정답맞힌 사람정답 비율
10 초 128 MB112191520.548%

문제

강원도 횡성에는 엄청나게 큰 나무 두 개가 마주보고 있다. 이 나무의 기둥에는 수많은 구멍들이 있고, 수많은 딱따구리들이 이 구멍에서 서식하기 위해 몰려들었다. 하나의 구멍에는 한 마리의 딱따구리만이 서식할 수 있고 비어있는 구멍도 있을 수 있다. 이들 중 몇몇 두 딱따구리는 친밀한 관계를 유지하여 이들의 서식지를 왔다 갔다 한다. 하지만 딱따구리는 워낙 빨리 이동하기 때문에 충돌의 위험을 줄이기 위해 몇몇 규칙으로 딱따구리의 서식지를 배정하려 한다.

  1. 딱따구리의 이동경로는 직선이다.
  2. 친밀한 관계를 가지는 두 딱따구리는 서로 다른 나무에 서식하고 있어야한다.
  3. 친밀한 관계를 가지는 딱따구리의 서식지를 연결하는 선분끼리 교차하면 안 된다. 단, 끝점 즉 서식지는 공유해도 상관없다

딱따구리는 가능한 한 낮은 곳에 위치한 구멍에서 서식하기를 원한다. 또한 각각의 나무에 있는 구멍의 수는 딱따구리의 수보다 크다. 문제는 이러한 조건을 만족하는 서식지 배정의 가짓수를 구하는 것이다.

입력

첫째 줄에 새들의 숫자를 나타내는 N(1 ≤ N ≤ 1,000,000), 친밀한 관계를 유지하는 딱따구리 쌍의 수를 나타내는 M(1 ≤ M ≤ 10,000,000), 결과를 나눌 제수 K(1 ≤ K ≤ 2,000,000)가 공백으로 구분되어 주어진다. 새들은 1번부터 N번까지 번호가 붙여져 있고 두 번째 줄부터 M+1번째 줄까지 각 줄에 친밀한 관계를 가지는 딱따구리의 번호가 공백으로 구분되어 주어진다.

출력

첫째 줄에 서식지 배정의 가짓수 R을 K로 나눈 나머지를 출력한다. 서식지를 배정할 수 없는 경우는 0을 출력한다.

예제 입력 1

3 2 10
1 2
1 3

예제 출력 1

4

힌트

W3sicHJvYmxlbV9pZCI6IjE2NDIiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWI1MzFcdWI1MzBcdWFkNmNcdWI5YWMiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YWMxNVx1YzZkMFx1YjNjNCBcdWQ2YTFcdWMxMzFcdWM1ZDBcdWIyOTQgXHVjNWM0XHVjY2FkXHViMDk4XHVhYzhjIFx1ZDA3MCBcdWIwOThcdWJiMzQgXHViNDUwIFx1YWMxY1x1YWMwMCBcdWI5YzhcdWM4ZmNcdWJjZjRcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWM3NzQgXHViMDk4XHViYjM0XHVjNzU4IFx1YWUzMFx1YjQ2NVx1YzVkMFx1YjI5NCBcdWMyMThcdWI5Y2VcdWM3NDAgXHVhZDZjXHViYTRkXHViNGU0XHVjNzc0IFx1Yzc4OFx1YWNlMCwgXHVjMjE4XHViOWNlXHVjNzQwIFx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhY1x1YjRlNFx1Yzc3NCBcdWM3NzQgXHVhZDZjXHViYTRkXHVjNWQwXHVjMTFjIFx1YzExY1x1YzJkZFx1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHViYWIwXHViODI0XHViNGU0XHVjNWM4XHViMmU0LiBcdWQ1NThcdWIwOThcdWM3NTggXHVhZDZjXHViYTRkXHVjNWQwXHViMjk0IFx1ZDU1YyBcdWI5YzhcdWI5YWNcdWM3NTggXHViNTMxXHViNTMwXHVhZDZjXHViOWFjXHViOWNjXHVjNzc0IFx1YzExY1x1YzJkZFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwIFx1YmU0NFx1YzViNFx1Yzc4OFx1YjI5NCBcdWFkNmNcdWJhNGRcdWIzYzQgXHVjNzg4XHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1Yzc3NFx1YjRlNCBcdWM5MTEgXHViYTg3XHViYTg3IFx1YjQ1MCBcdWI1MzFcdWI1MzBcdWFkNmNcdWI5YWNcdWIyOTQgXHVjZTVjXHViYzAwXHVkNTVjIFx1YWQwMFx1YWNjNFx1Yjk3YyBcdWM3MjBcdWM5YzBcdWQ1NThcdWM1ZWMgXHVjNzc0XHViNGU0XHVjNzU4IFx1YzExY1x1YzJkZFx1YzljMFx1Yjk3YyBcdWM2NTRcdWIyZTQgXHVhYzE0XHViMmU0IFx1ZDU1Y1x1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjIFx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhY1x1YjI5NCBcdWM2Y2NcdWIwOTkgXHViZTY4XHViOWFjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHVjZGE5XHViM2NjXHVjNzU4IFx1YzcwNFx1ZDVkOFx1Yzc0NCBcdWM5MDRcdWM3NzRcdWFlMzAgXHVjNzA0XHVkNTc0IFx1YmE4N1x1YmE4NyBcdWFkZGNcdWNlNTlcdWM3M2NcdWI4NWMgXHViNTMxXHViNTMwXHVhZDZjXHViOWFjXHVjNzU4IFx1YzExY1x1YzJkZFx1YzljMFx1Yjk3YyBcdWJjMzBcdWM4MTVcdWQ1NThcdWI4MjQgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhY1x1Yzc1OCBcdWM3NzRcdWIzZDlcdWFjYmRcdWI4NWNcdWIyOTQgXHVjOWMxXHVjMTIwXHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWNlNWNcdWJjMDBcdWQ1NWMgXHVhZDAwXHVhY2M0XHViOTdjIFx1YWMwMFx1YzljMFx1YjI5NCBcdWI0NTAgXHViNTMxXHViNTMwXHVhZDZjXHViOWFjXHViMjk0IFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHViMDk4XHViYjM0XHVjNWQwIFx1YzExY1x1YzJkZFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWM1YjRcdWM1N2NcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1Y2U1Y1x1YmMwMFx1ZDU1YyBcdWFkMDBcdWFjYzRcdWI5N2MgXHVhYzAwXHVjOWMwXHViMjk0IFx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhY1x1Yzc1OCBcdWMxMWNcdWMyZGRcdWM5YzBcdWI5N2MgXHVjNWYwXHVhY2IwXHVkNTU4XHViMjk0IFx1YzEyMFx1YmQ4NFx1YjA3Y1x1YjlhYyBcdWFkNTBcdWNjMjhcdWQ1NThcdWJhNzQgXHVjNTQ4IFx1YjQxY1x1YjJlNC4gXHViMmU4LCBcdWIwNWRcdWM4MTAgXHVjOTg5IFx1YzExY1x1YzJkZFx1YzljMFx1YjI5NCBcdWFjZjVcdWM3MjBcdWQ1NzRcdWIzYzQgXHVjMGMxXHVhZDAwXHVjNWM2XHViMmU0PFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHViNTMxXHViNTMwXHVhZDZjXHViOWFjXHViMjk0IFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWQ1NWMgXHViMGFlXHVjNzQwIFx1YWNmM1x1YzVkMCBcdWM3MDRcdWNlNThcdWQ1NWMgXHVhZDZjXHViYTRkXHVjNWQwXHVjMTFjIFx1YzExY1x1YzJkZFx1ZDU1OFx1YWUzMFx1Yjk3YyBcdWM2ZDBcdWQ1NWNcdWIyZTQuIFx1YjYxMFx1ZDU1YyBcdWFjMDFcdWFjMDFcdWM3NTggXHViMDk4XHViYjM0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWFkNmNcdWJhNGRcdWM3NTggXHVjMjE4XHViMjk0IFx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhY1x1Yzc1OCBcdWMyMThcdWJjZjRcdWIyZTQgXHVkMDZjXHViMmU0LiBcdWJiMzhcdWM4MWNcdWIyOTQgXHVjNzc0XHViN2VjXHVkNTVjIFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHVjMTFjXHVjMmRkXHVjOWMwIFx1YmMzMFx1YzgxNVx1Yzc1OCBcdWFjMDBcdWM5ZDNcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjMGM4XHViNGU0XHVjNzU4IFx1YzIyYlx1Yzc5MFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgTigxICZsZTsgTiAmbGU7IDEsMDAwLDAwMCksIFx1Y2U1Y1x1YmMwMFx1ZDU1YyBcdWFkMDBcdWFjYzRcdWI5N2MgXHVjNzIwXHVjOWMwXHVkNTU4XHViMjk0IFx1YjUzMVx1YjUzMFx1YWQ2Y1x1YjlhYyBcdWMzMGRcdWM3NTggXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBNKDEgJmxlOyBNICZsZTsgMTAsMDAwLDAwMCksIFx1YWNiMFx1YWNmY1x1Yjk3YyBcdWIwOThcdWIyMGMgXHVjODFjXHVjMjE4IEsoMSAmbGU7IEsgJmxlOyAyLDAwMCwwMDApXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWMwYzhcdWI0ZTRcdWM3NDAgMVx1YmM4OFx1YmQ4MFx1ZDEzMCBOXHViYzg4XHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJkOTlcdWM1ZWNcdWM4MzggXHVjNzg4XHVhY2UwIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjOTA0XHViZDgwXHVkMTMwIE0rMVx1YmM4OFx1YzlmOCBcdWM5MDRcdWFlNGNcdWM5YzAgXHVhYzAxIFx1YzkwNFx1YzVkMCBcdWNlNWNcdWJjMDBcdWQ1NWMgXHVhZDAwXHVhY2M0XHViOTdjIFx1YWMwMFx1YzljMFx1YjI5NCBcdWI1MzFcdWI1MzBcdWFkNmNcdWI5YWNcdWM3NTggXHViYzg4XHVkNjM4XHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjMTFjXHVjMmRkXHVjOWMwIFx1YmMzMFx1YzgxNVx1Yzc1OCBcdWFjMDBcdWM5ZDNcdWMyMTggUlx1Yzc0NCBLXHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWMxMWNcdWMyZGRcdWM5YzBcdWI5N2MgXHViYzMwXHVjODE1XHVkNTYwIFx1YzIxOCBcdWM1YzZcdWIyOTQgXHVhY2JkXHVjNmIwXHViMjk0IDBcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiI8cD48aW1nIGFsdD1cIlwiIGhlaWdodD1cIjM5MlwiIHNyYz1cIlwvSnVkZ2VPbmxpbmVcL3VwbG9hZFwvMjAxMDA1XC9la3Jla3JuZmwuUE5HXCIgd2lkdGg9XCI0MjJcIiBcLz48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjE2NDIiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJIb2xsb3dzIiwiZGVzY3JpcHRpb24iOiI8cD5UaGVyZSBhcmUgdHdvIGV4dHJlbWVseSBoaWdoIHRyZWVzIGluIEJ5dGVvdGlhLCBhbmQgZWFjaCBvZiB0aGVtIGhhcyBtYW55IGhvbGxvd3Mgc2Nvb3BlZCBvdXQgaW4gaXRzIHRydW5rLCBvbmUgdW5kZXIgYW5vdGhlci4gT25jZSB1cG9uIGEgdGltZSAmbmJzcDt2ZXJ5IGZhc3QgYmlyZHMgZGVjaWRlZCB0byBpbmhhYml0IHRoZSBob2xsb3dzLiBTb21lIG9mIHRoZW0ga25vdyBlYWNoIG90aGVyIGFuZCB0aGVyZWZvcmUgd291bGQgbGlrZSB0byBiZSBhYmxlIHRvIHBheSBvbmUgYW5vdGhlciB2aXNpdHMgaW4gdGhlaXIgaG9sbG93cy4gVGhlIGJpcmRzIGZseSB2ZXJ5IGZhc3QgYW5kIGFsd2F5cyBhbG9uZyBhIHN0cmFpZ2h0IGxpbmUuIEluIG9yZGVyIHRvIGF2b2lkIHRoZSBkYW5nZXIgb2YgY29sbGlzaW9uIHRoZXkgZGVjaWRlZCB0byBxdWFydGVyIGluIGEgd2F5IHRoYXQ6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+ZWFjaCB0d28gYmlyZHMgdGhhdCB3b3VsZCBsaWtlIHRvIHBheSB0aGVtc2VsdmVzIHZpc2l0cyBsaXZlIGluIGRpZmZlcmVudCB0cmVlcywgYW5kPFwvbGk+XHJcblx0PGxpPmZvciBlYWNoIHR3byBwYWlycyBvZiBmYW1pbGlhciBiaXJkcywgdGhlIHNlZ21lbnRzIGNvbm5lY3RpbmcgdGhlIGhvbGxvd3Mgb2YgdGhlIGZhbWlsaWFyIGJpcmRzIGRvIG5vdCBpbnRlcnNlY3QgKHRoZXkgbWF5LCBob3dldmVyLCBoYXZlIGEgY29tbW9uIGVuZHBvaW50KS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5JbiBhZGRpdGlvbiwgdGhlIGJpcmRzIHdvdWxkIGxpa2UgdG8gbGl2ZSBhcyBsb3cgYXMgcG9zc2libGUuIFNvIGluIGVhY2ggdHJlZSB0aGV5IGluaGFiaXQgYSBjZXJ0YWluIG51bWJlciBvZiBsb3dlciBob2xsb3dzLiBUaGVyZSBhcmUgbW9yZSBob2xsb3dzIGluIGVhY2ggdHJlZSB0aGFuIHRoZXJlIGFyZSBiaXJkcyBpbiB3aG9sZS48XC9wPlxyXG5cclxuPHA+SXQgaXMgd2VsbC1rbm93biB0aGF0IGJpcmRzIGhhdmUgdmVyeSBzbWFsbCBicmFpbnMuIFRoYXQmIzM5O3Mgd2h5IHRoZXkgaGF2ZSBhc2tlZCB5b3UgLSBhIHJlc3BlY3RlZCBvcm5pdGhvbG9naXN0IC0gdG8gaGVscCB0aGVtIGZpbmQgb3V0IGluIGhvdyBtYW55IHdheXMgdGhleSBjYW4gcXVhcnRlciBpbiB0aGUgaG9sbG93cy48XC9wPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtbWUgdGhhdDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5yZWFkcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCB0aGUgZGVzY3JpcHRpb24gb2YgYWNxdWFpbnRhbmNlc2hpcCBiZXR3ZWVuIHRoZSBiaXJkcyw8XC9saT5cclxuXHQ8bGk+Y2FsY3VsYXRlcyBpbiBob3cgbWFueSB3YXlzIGNhbiB0aGUgYmlyZHMgYmUgcXVhcnRlcmVkIGluIHRoZSB0cmVlcywgc2F0aXNmeWluZyB0aGUgYWJvdmUgY29uc3RyYWludHMsPFwvbGk+XHJcblx0PGxpPndyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJpbnB1dCI6IjxwPkluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzdGFuZGFyZCBpbnB1dCB0aGVyZSBhcmUgdGhyZWUgaW50ZWdlcnMgd3JpdHRlbiBuLCBtIGFuZCBrLCBkZW5vdGluZyByZXNwZWN0aXZlbHk6IHRoZSBudW1iZXIgb2YgYmlyZHMsIHRoZSBudW1iZXIgb2YgZGlzdGluY3QgcGFpcnMgb2YgYmlyZHMga25vd2luZyBlYWNoIG90aGVyIGFuZCB0aGUgbnVtYmVyIHRoYXQgaXMgdG8gYmUgdXNlZCB3aGVuIGdpdmluZyByZXN1bHQgKHNlZTogT3V0cHV0KSwgMiAmbGU7IG4gJmxlOyAxIDAwMCAwMDAsIDEgJmxlOyBtICZsZTsgMTAgMDAwIDAwMCwgMiAmbGU7IGsgJmxlOyAyIDAwMCAwMDAuIFRoZSBiaXJkcyBhcmUgbnVtYmVyZWQgZnJvbSAxIHRvIG4uIEluIHRoZSBmb2xsb3dpbmcgbSBsaW5lcyB0aGUgcGFpcnMgb2YgYmlyZHMga25vd2luZyBlYWNoIG90aGVyIGFyZSBnaXZlbiwgb25lIHBlciBsaW5lLiBJbiB0aGUgbGluZSBuby4gaSsxIHR3byBpbnRlZ2VycyBhPHN1Yj5pPFwvc3ViPiBhbmQgYjxzdWI+aTxcL3N1Yj4sIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBzcGFjZSwgYXJlIHdyaXR0ZW4gKDEgJmxlOyBhPHN1Yj5pPFwvc3ViPiwgYjxzdWI+aTxcL3N1Yj4gJmxlOyBuLCBhPHN1Yj5pPFwvc3ViPiAmbmU7IGI8c3ViPmk8XC9zdWI+KS4gVGhlc2UgYXJlIHRoZSBudW1iZXJzIG9mIHRoZSBmYW1pbGlhciBiaXJkcy4gRWFjaCAodW5vcmRlcmVkKSBwYWlyIG9mIGZhbWlsaWFyIGJpcmRzIGlzIGdpdmVuIGV4YWN0bHkgb25jZS48XC9wPlxyXG5cclxuPHA+Jm5ic3A7PFwvcD5cclxuIiwib3V0cHV0IjoiPHA+TGV0IHIgZGVub3RlIHRoZSBudW1iZXIgb2YgZGlzdGluY3QgcXVhcnRlcmluZ3Mgb2YgYmlyZHMgc2F0aXNmeWluZyB0aGUgZ2l2ZW4gY29uc3RyYWludHMuIFlvdXIgcHJvZ3JhbW1lIHNob3VsZCB3cml0ZSBvbmUgaW50ZWdlciBpbiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc3RhbmRhcmQgb3V0cHV0OiB0aGUgcmVtYWluZGVyIG9mIGRpdmlzaW9uIG9mIHIgYnkgay4gSWYgbm8gcXVhcnRlcmluZyBleGlzdHMgdGhlIGNvcnJlY3QgcmVzdWx0IGlzIDAuPFwvcD5cclxuIiwiaGludCI6IjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvZHppemFkLWltZzMuZ2lmXCIgc3R5bGU9XCJoZWlnaHQ6Mzc2cHg7IHdpZHRoOjQwM3B4XCIgXC8+PFwvcD5cclxuIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

Olympiad > Polish Olympiad in Informatics > POI 2004/2005 > Stage 3 1번

  • 문제를 번역한 사람: author6