https://www.acmicpc.net/problem/1644
https://www.acmicpc.net/problem/1043
https://www.acmicpc.net/problem/1504
https://www.acmicpc.net/problem/2342
https://www.acmicpc.net/problem/1238