시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 (하단 참고)512 MB21121263.158%

문제

Alice는 정수 배열을 이용한 놀이를 즐겨한다.

길이 $n$인 정수 배열 $A$가 있을 때 $i$번째 원소를 $A[i]$라 하자 ($i = 1, 2, \dots, n$). 이때 $A$의 부분배열 $A[i, j]$는 $i$번째 원소부터 $j$번째 원소까지를 포함한 길이 $(j - i + 1)$인 배열로 정의한다 ($1 ≤ i ≤ j ≤ n$). 예를 들어 $A = [1, 3, 5, 7]$이라면 $A[1, 2]$은 $[1, 3]$이고 $A[2, 4]$은 $[3, 5, 7]$이 된다. 참고로 $A$의 부분 배열은 총 $n \times (n+1) / 2$개 존재한다.

각각의 부분배열 $A[i, j]$에 대하여 Alice는 아래와 같은 방법으로 점수를 매기기로 했다. 편의상 $A[i, j]$의 점수를 $Score(i, j)$라 하자. ($1 ≤ i ≤ j ≤ n$)

  • [규칙 1] 만약 $i = j$ 라면 $Score(i, j) := 0$이다.
  • [규칙 2] 만약 $i < j$ 이고 $A[i, j]$의 원소 중 중복된 값이 있다면 $Score(i, j) := 0$ 이다.
  • [규칙 3] 만약 $i < j$ 이고 $A[i, j]$의 원소 중 중복된 값이 없다면 $Score(i, j) := i^{(j - i + 1)} + j^{(j - i + 1)}$ 이다.

예를 들어 $A = [1, 1, 2]$ 인 경우를 살펴보자.

  • 규칙 1에 따라 $Score(1, 1) = Score(2, 2) = Score(3, 3) = 0$ 이다.
  • 규칙 2에 따라 $Score(1, 2) = Score(1, 3) = 0$ 이다. 두 경우 모두 부분 배열에 $1$이 한 번 이상 포함되기 때문이다.
  • 규칙 3에 따라 $Score(2, 3) = 2^2 + 3^2 = 13$이다.

다른 예로, $A = [1, 3, 5, 7]$ 인 경우를 살펴보자.

  • 규칙 1에 따라 $Score(1, 1) = Score(2, 2) = Score(3, 3) = Score(4, 4) = 0$이다.
  • 규칙 2에 해당하는 부분 배열은 없다.
  • 규칙 3에 따라 길이 $2$ 이상의 모든 부분 배열의 점수를 구하면 아래와 같다:
    • $Score(1, 2) = 1^2 + 2^2 = 5$
    • $Score(2, 3) = 2^2 + 3^2 = 13$
    • $Score(3, 4) = 3^2 + 4^2 = 25$
    • $Score(1, 3) = 1^3 + 3^3 = 28$
    • $Score(2, 4) = 2^3 + 4^3 = 72$
    • $Score(1, 4) = 1^4 + 4^4 = 257$

정수 배열 $A$가 주어졌을 때, Alice를 도와 $A$의 부분배열 점수 총합을 구해보자.

입력

첫 줄에 테스트 케이스의 수 $T$가 주어진다.

각 테스트 케이스의 첫 줄에는 배열의 길이 $n$이 주어지고 둘째 줄에는 $A$의 원소인 $n$개의 정수가 공백으로 구분되어 주어진다.

출력

각 테스트 케이스의 정답을 각 줄에 출력한다. 단, 답이 매우 커질 수 있으므로 정답을 $10^9+7$로 나눈 나머지를 출력한다.

서브태스크 1 (10점)

  • 1 ≤ T ≤ 10
  • 2 ≤ n ≤ 1,500
  • 1 ≤ A[i] ≤ 300,000

서브태스크 2 (20점)

  • 1 ≤ T ≤ 10
  • 2 ≤ n ≤ 100,000
  • 1 ≤ A[i] ≤ 300,000

예제 입력 1

4
3
1 1 2
4
1 3 5 7
6
1 2 3 1 3 2
6
1 2 3 2 3 1

예제 출력 1

13
400
525
453
W3sicHJvYmxlbV9pZCI6IjI1MTIyIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViZDgwXHViZDg0XHViYzMwXHVjNWY0IFx1YzgxMFx1YzIxOCBcdWFkNmNcdWQ1NThcdWFlMzAiLCJkZXNjcmlwdGlvbiI6IjxwPkFsaWNlXHViMjk0IFx1YzgxNVx1YzIxOCBcdWJjMzBcdWM1ZjRcdWM3NDQgXHVjNzc0XHVjNmE5XHVkNTVjIFx1YjE4MFx1Yzc3NFx1Yjk3YyBcdWM5OTBcdWFjYThcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWUzOFx1Yzc3NCAkbiRcdWM3NzggXHVjODE1XHVjMjE4IFx1YmMzMFx1YzVmNCAkQSRcdWFjMDAgXHVjNzg4XHVjNzQ0IFx1YjU0YyAkaSRcdWJjODhcdWM5ZjggXHVjNmQwXHVjMThjXHViOTdjICRBW2ldJFx1Yjc3YyBcdWQ1NThcdWM3OTAgKCRpID0gMSwgMiwgXFxkb3RzLCBuJCkuIFx1Yzc3NFx1YjU0YyAkQSRcdWM3NTggXHViZDgwXHViZDg0XHViYzMwXHVjNWY0ICRBW2ksIGpdJFx1YjI5NCAkaSRcdWJjODhcdWM5ZjggXHVjNmQwXHVjMThjXHViZDgwXHVkMTMwICRqJFx1YmM4OFx1YzlmOCBcdWM2ZDBcdWMxOGNcdWFlNGNcdWM5YzBcdWI5N2MgXHVkM2VjXHVkNTY4XHVkNTVjIFx1YWUzOFx1Yzc3NCAkKGogLSBpICsgMSkkXHVjNzc4IFx1YmMzMFx1YzVmNFx1Yjg1YyBcdWM4MTVcdWM3NThcdWQ1NWNcdWIyZTQgKCQxICZsZTsgaSAmbGU7IGogJmxlOyBuJCkuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgJEEgPSBbMSwgMywgNSwgN10kXHVjNzc0XHViNzdjXHViYTc0ICRBWzEsIDJdJFx1Yzc0MCAkWzEsIDNdJFx1Yzc3NFx1YWNlMCAkQVsyLCA0XSRcdWM3NDAgJFszLCA1LCA3XSRcdWM3NzQgXHViNDFjXHViMmU0LiBcdWNjMzhcdWFjZTBcdWI4NWMgJEEkXHVjNzU4IFx1YmQ4MFx1YmQ4NCBcdWJjMzBcdWM1ZjRcdWM3NDAgXHVjZDFkICRuIFxcdGltZXMgKG4rMSkgXC8gMiRcdWFjMWMgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDFcdWFjMDFcdWM3NTggXHViZDgwXHViZDg0XHViYzMwXHVjNWY0ICRBW2ksIGpdJFx1YzVkMCBcdWIzMDBcdWQ1NThcdWM1ZWMgQWxpY2VcdWIyOTQgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWJjMjlcdWJjOTVcdWM3M2NcdWI4NWMgXHVjODEwXHVjMjE4XHViOTdjIFx1YjllNFx1YWUzMFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuIFx1ZDNiOFx1Yzc1OFx1YzBjMSAkQVtpLCBqXSRcdWM3NTggXHVjODEwXHVjMjE4XHViOTdjICRTY29yZShpLCBqKSRcdWI3N2MgXHVkNTU4XHVjNzkwLiAoJDEgJmxlOyBpICZsZTsgaiAmbGU7IG4kKTxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPltcdWFkZGNcdWNlNTkgMV0gXHViOWNjXHVjNTdkICRpID0gaiQgXHViNzdjXHViYTc0ICRTY29yZShpLCBqKSA6PSAwJFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+W1x1YWRkY1x1Y2U1OSAyXSBcdWI5Y2NcdWM1N2QgJGkgJmx0OyBqJCBcdWM3NzRcdWFjZTAgJEFbaSwgal0kXHVjNzU4IFx1YzZkMFx1YzE4YyBcdWM5MTEgXHVjOTExXHViY2Y1XHViNDFjIFx1YWMxMlx1Yzc3NCBcdWM3ODhcdWIyZTRcdWJhNzQgJFNjb3JlKGksIGopIDo9IDAkIFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+W1x1YWRkY1x1Y2U1OSAzXSBcdWI5Y2NcdWM1N2QgJGkgJmx0OyBqJCBcdWM3NzRcdWFjZTAgJEFbaSwgal0kXHVjNzU4IFx1YzZkMFx1YzE4YyBcdWM5MTEgXHVjOTExXHViY2Y1XHViNDFjIFx1YWMxMlx1Yzc3NCBcdWM1YzZcdWIyZTRcdWJhNzQgJFNjb3JlKGksIGopIDo9IGleeyhqIC0gaSArIDEpfSArIGpeeyhqIC0gaSArIDEpfSQgXHVjNzc0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgJEEgPSBbMSwgMSwgMl0kIFx1Yzc3OCBcdWFjYmRcdWM2YjBcdWI5N2MgXHVjMGI0XHVkM2I0XHViY2Y0XHVjNzkwLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YWRkY1x1Y2U1OSAxXHVjNWQwIFx1YjUzMFx1Yjc3YyAkU2NvcmUoMSwgMSkgPSBTY29yZSgyLCAyKSA9IFNjb3JlKDMsIDMpID0gMCQgXHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWFkZGNcdWNlNTkgMlx1YzVkMCBcdWI1MzBcdWI3N2MgJFNjb3JlKDEsIDIpID0gU2NvcmUoMSwgMykgPSAwJCBcdWM3NzRcdWIyZTQuIFx1YjQ1MCBcdWFjYmRcdWM2YjAgXHViYWE4XHViNDUwIFx1YmQ4MFx1YmQ4NCBcdWJjMzBcdWM1ZjRcdWM1ZDAgJDEkXHVjNzc0IFx1ZDU1YyBcdWJjODggXHVjNzc0XHVjMGMxIFx1ZDNlY1x1ZDU2OFx1YjQxOFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YWRkY1x1Y2U1OSAzXHVjNWQwIFx1YjUzMFx1Yjc3YyAkU2NvcmUoMiwgMykgPSAyXjIgKyAzXjIgPSAxMyRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViMmU0XHViOTc4IFx1YzYwOFx1Yjg1YywgJEEgPSBbMSwgMywgNSwgN10kIFx1Yzc3OCBcdWFjYmRcdWM2YjBcdWI5N2MgXHVjMGI0XHVkM2I0XHViY2Y0XHVjNzkwLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YWRkY1x1Y2U1OSAxXHVjNWQwIFx1YjUzMFx1Yjc3YyAkU2NvcmUoMSwgMSkgPSBTY29yZSgyLCAyKSA9IFNjb3JlKDMsIDMpID0gU2NvcmUoNCwgNCkgPSAwJFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhZGRjXHVjZTU5IDJcdWM1ZDAgXHVkNTc0XHViMmY5XHVkNTU4XHViMjk0IFx1YmQ4MFx1YmQ4NCBcdWJjMzBcdWM1ZjRcdWM3NDAgXHVjNWM2XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWFkZGNcdWNlNTkgM1x1YzVkMCBcdWI1MzBcdWI3N2MgXHVhZTM4XHVjNzc0ICQyJCBcdWM3NzRcdWMwYzFcdWM3NTggXHViYWE4XHViNGUwIFx1YmQ4MFx1YmQ4NCBcdWJjMzBcdWM1ZjRcdWM3NTggXHVjODEwXHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YmE3NCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHViMmU0OlxyXG5cdDx1bD5cclxuXHRcdDxsaT4kU2NvcmUoMSwgMikgPSAxXjIgKyAyXjIgPSA1JDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgyLCAzKSA9IDJeMiArIDNeMiA9IDEzJDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgzLCA0KSA9IDNeMiArIDReMiA9IDI1JDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgxLCAzKSA9IDFeMyArIDNeMyA9IDI4JDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgyLCA0KSA9IDJeMyArIDReMyA9IDcyJDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgxLCA0KSA9IDFeNCArIDReNCA9IDI1NyQ8XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM4MTVcdWMyMTggXHViYzMwXHVjNWY0ICRBJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBBbGljZVx1Yjk3YyBcdWIzYzRcdWM2NDAgJEEkXHVjNzU4IFx1YmQ4MFx1YmQ4NFx1YmMzMFx1YzVmNCBcdWM4MTBcdWMyMTggXHVjZDFkXHVkNTY5XHVjNzQ0IFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWMyMTggJFQkXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjY2FiIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJjMzBcdWM1ZjRcdWM3NTggXHVhZTM4XHVjNzc0ICRuJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWFjZTAgXHViNDU4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCAkQSRcdWM3NTggXHVjNmQwXHVjMThjXHVjNzc4ICRuJFx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMThcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjODE1XHViMmY1XHVjNzQ0IFx1YWMwMSBcdWM5MDRcdWM1ZDAgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWIyZTgsIFx1YjJmNVx1Yzc3NCBcdWI5ZTRcdWM2YjAgXHVjZWU0XHVjOWM4IFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMgXHVjODE1XHViMmY1XHVjNzQ0ICQxMF45KzckXHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsInN1YnRhc2sxIjoiPHVsPlxyXG5cdDxsaT4xICZsZTsgVCAmbGU7IDEwPFwvbGk+XHJcblx0PGxpPjIgJmxlOyBuICZsZTsgMSw1MDA8XC9saT5cclxuXHQ8bGk+MSAmbGU7IEFbaV0gJmxlOyAzMDAsMDAwPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMiI6Ijx1bD5cclxuXHQ8bGk+MSAmbGU7IFQgJmxlOyAxMDxcL2xpPlxyXG5cdDxsaT4yICZsZTsgbiAmbGU7IDEwMCwwMDA8XC9saT5cclxuXHQ8bGk+MSAmbGU7IEFbaV0gJmxlOyAzMDAsMDAwPFwvbGk+XHJcbjxcL3VsPlxyXG4ifSx7InByb2JsZW1faWQiOiIyNTEyMiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkNvbXB1dGluZyBTdWJhcnJheSBTY29yZXMiLCJkZXNjcmlwdGlvbiI6IjxwPkFsaWNlIGxpa2VzIHRvIHBsYXkgd2l0aCBpbnRlZ2VyIGFycmF5cy48XC9wPlxyXG5cclxuPHA+TGV0ICRBJCBiZSBhbiBpbnRlZ2VyIGFycmF5IG9mIGxlbmd0aCAkbiQsIGFuZCBsZXQgdGhlICRpJC10aCBlbGVtZW50IG9mICRBJCBiZSAkQVtpXSQgKCRpID0gMSwgMiwgXFxkb3RzLCBuJCkuJm5ic3A7RGVmaW5lICRBW2ksIGpdJCBiZSB0aGUgc3ViYXJyYXkgb2YgJEEkLCBjb250YWluaW5nIGVsZW1lbnRzIGZyb20gJGkkLXRoIHRvICRqJC10aCwgaW5jbHVzaXZlLCB3aG9zZSBsZW5ndGggaXMgJChqIC0gaSArIDEpJCB3aGVyZSAkMSAmbGU7IGkgJmxlOyBqICZsZTsgbiQuJm5ic3A7Rm9yIGluc3RhbmNlLCBpZiAkQSA9IFsxLCAzLCA1LCA3XSQsIHRoZW4gJEFbMSwgMl0gPSBbMSwgM10kJm5ic3A7YW5kICRBWzIsIDRdID0gWzMsIDUsIDddJC4gTm90ZSB0aGF0IHRoZSBudW1iZXIgb2Ygc3ViYXJyYXlzIG9mICRBJCBpcyZuYnNwOyRuIFxcdGltZXMmbmJzcDsobisxKSBcLyAyJC48XC9wPlxyXG5cclxuPHA+Rm9yIGVhY2ggc3ViYXJyYXkgJEFbaSwgal0kLCBBbGljZSBjb21wdXRlcyBpdHMgc2NvcmUgYXMgZm9sbG93IC0tIGZvciBjb252ZW5pZW5jZSwgbGV0ICRTY29yZShpLCBqKSQgYmUgdGhlIHNjb3JlIG9mICRBW2ksIGpdJC4gKCQxICZsZTsgaSAmbGU7IGogJmxlOyBuJCk8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5bUnVsZSAxXSBJZiAkaSA9IGokLCB0aGVuJm5ic3A7JFNjb3JlKGksIGopIDo9IDAkLjxcL2xpPlxyXG5cdDxsaT5bUnVsZSAyXSZuYnNwO0lmICRpICZsdDsgaiQgYW5kICRBW2ksIGpdJCBjb250YWlucyBhbnkgZHVwbGljYXRlcywgdGhlbiAkU2NvcmUoaSwgaikgOj0gMCQuPFwvbGk+XHJcblx0PGxpPltSdWxlIDNdIElmICRpICZsdDsgaiQgYW5kICRBW2ksIGpdJCBjb250YWlucyBubyBkdXBsaWNhdGVzLCB0aGVuICRTY29yZShpLCBqKSA6PSBpXnsoaiAtIGkgKyAxKX0mbmJzcDsrIGpeeyhqIC0gaSArIDEpfSQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+U3VwcG9zZSB0aGF0ICRBID0gWzEsIDEsIDJdJC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5EdWUgdG8gUnVsZSAxLCAkU2NvcmUoMSwgMSkgPSBTY29yZSgyLCAyKSA9IFNjb3JlKDMsIDMpID0gMCQuPFwvbGk+XHJcblx0PGxpPkR1ZSB0byBSdWxlIDIsICRTY29yZSgxLCAyKSA9IFNjb3JlKDEsIDMpID0gMCQuIFNpbmNlIGJvdGggc3ViYXJyYXlzIGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyICQxJCB0d2ljZS48XC9saT5cclxuXHQ8bGk+RHVlIHRvIFJ1bGUgMywgJFNjb3JlKDIsIDMpID0gMl4yJm5ic3A7KyAzXjImbmJzcDs9IDEzJC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5Db25zaWRlciBhbm90aGVyIGV4YW1wbGUgd2hlcmUgJEEgPSBbMSwgMywgNSwgN10kLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkR1ZSB0byBSdWxlIDEsICRTY29yZSgxLCAxKSA9IFNjb3JlKDIsIDIpID0gU2NvcmUoMywgMykgPSBTY29yZSg0LCA0KSA9IDAkLjxcL2xpPlxyXG5cdDxsaT5ObyBzdWJhcnJheXMgYXJlIHN1YmplY3QgdG8gUnVsZSAyLjxcL2xpPlxyXG5cdDxsaT5EdWUgdG8gUnVsZSAzLCB0aGUgc2NvcmUgb2YgZXZlcnkgc3ViYXJyYXkgb2YgbGVuZ3RoICQyJCBvciBtb3JlIGlzOlxyXG5cdDx1bD5cclxuXHRcdDxsaT4kU2NvcmUoMSwgMikgPSAxXjImbmJzcDsrIDJeMiZuYnNwOz0gNSQ8XC9saT5cclxuXHRcdDxsaT4kU2NvcmUoMiwgMykgPSAyXjImbmJzcDsrIDNeMiZuYnNwOz0gMTMkPFwvbGk+XHJcblx0XHQ8bGk+JFNjb3JlKDMsIDQpID0gM14yJm5ic3A7KyA0XjImbmJzcDs9IDI1JDxcL2xpPlxyXG5cdFx0PGxpPiRTY29yZSgxLCAzKSA9IDFeMyZuYnNwOysgM14zJm5ic3A7PSAyOCQ8XC9saT5cclxuXHRcdDxsaT4kU2NvcmUoMiwgNCkgPSAyXjMmbmJzcDsrIDReMyZuYnNwOz0gNzIkPFwvbGk+XHJcblx0XHQ8bGk+JFNjb3JlKDEsIDQpID0gMV40Jm5ic3A7KyA0XjQmbmJzcDs9IDI1NyQ8XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5HaXZlbiBhbiBpbnRlZ2VyIGFycmF5ICRBJCwgaGVscCBBbGljZSBjb21wdXRlIHRoZSBzdW0gb2YgdGhlIHNjb3JlcyBvZiBhbGwgaXRzIHN1YmFycmF5cy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1dCB3aWxsIGNvbnRhaW4gJFQkLCB0aGUgbnVtYmVyIG9mIHRlc3QgY2FzZXMuPFwvcD5cclxuXHJcbjxwPlRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggdGVzdCBjYXNlIHdpbGwgY29udGFpbiAkbiQsIHRoZSBsZW5ndGggb2YgJEEkLiBUaGUgc2Vjb25kIGxpbmUgd2lsbCBjb250YWluICRuJCBudW1iZXJzIGRlc2NyaWJpbmcgJEEkJiMzOTtzIGVsZW1lbnRzLCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5PdXRwdXQgZWFjaCB0ZXN0IGNhc2UmIzM5O3MgYW5zd2VyIGluIGVhY2ggbGluZS4gU2luY2UgdGhlIGFuc3dlciBjYW4gYmVjb21lIHZlcnkgbGFyZ2UsIG91dHB1dCB0aGUgYW5zd2VyIG1vZHVsbyAkMTBeOSs3JCBpbnN0ZWFkLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJzdWJ0YXNrMSI6Ijx1bD5cclxuXHQ8bGk+JDEgJmxlOyBUICZsZTsgMTAkPFwvbGk+XHJcblx0PGxpPiQyICZsZTsgbiAmbGU7IDFcXCw1MDAkPFwvbGk+XHJcblx0PGxpPiQxICZsZTsgQVtpXSAmbGU7IDMwMFxcLDAwMCQ8XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2syIjoiPHVsPlxyXG5cdDxsaT4kMSAmbGU7IFQgJmxlOyAxMCQ8XC9saT5cclxuXHQ8bGk+JDIgJmxlOyBuICZsZTsgMTAwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT4kMSAmbGU7IEFbaV0gJmxlOyAzMDBcXCwwMDAkPFwvbGk+XHJcbjxcL3VsPlxyXG4ifV0=

시간 제한

  • Java 8: 3 초
  • Python 3: 4 초
  • PyPy3: 4 초
  • Java 8 (OpenJDK): 3 초
  • Java 11: 3 초
  • Kotlin (JVM): 3 초
  • Java 15: 3 초

채점 및 기타 정보

  • 예제는 채점하지 않는다.