문제
Bert는 최근 수학 시간에 약수에 대해 배웠다. 임의의 자연수 $x \ge 1$에 대하여
$D(x)$ : $x$ 의 약수의 개수 (즉, 1ドル$ 이상 $x$ 이하의 자연수 $y$ 중 $x$를 나누어 떨어지게 하는 $y$의 개수)
$S(x)$ : $x$ 의 약수의 총합 (즉, 1ドル$ 이상 $x$ 이하의 자연수 $y$ 중 $x$를 나누어 떨어지게 하는 $y$의 총합)
이라 정의하자.
예를 들면
1의 약수는 $\{1\}$ 이므로 $D(1) = 1,ドル $S(1) = 1$ 이다.
10의 약수는 $\{1, 2, 5, 10\}$ 이므로 $D(10) = 4,ドル $S(10) = 18$ 이다.
12의 약수는 $\{1, 2, 3, 4, 6, 12\}$ 이므로 $D(12) = 6,ドル $S(12) = 28$ 이다.
14의 약수는 $\{1, 2, 7, 14\}$ 이므로 $D(14) = 4,ドル $S(14) = 24$ 이다.
15의 약수는 $\{1, 3, 5, 15\}$ 이므로 $D(15) = 4,ドル $S(15) = 24$ 이다.
Bert가 공부하던 모습을 지켜보던 Bert의 누나 Alice는 아래와 같은 퀴즈를 냈보았다: $Q(N, x, A, B, C)$: 1ドル$ 이상 $N$ 이하인 자연수 $y$ 중 아래 세 조건을 모두 만족하는 자연수의 개수는?
$|x - y| \le A$
$|D(x) - D(y)| \le B$
$|S(x) - S(y)| \le C$
예를 들어 $N = 18$ 인 경우를 생각해보자.
$x = 15, A = 5, B = 2, C = 10$ 인 경우: $y \in \{10, 12, 13, 14, 15, 16, 17\}$ 일 때 상기한 세 조건을 모두 만족하므로 답은 7이 된다.
$x = 15, A = 5, B = 2, C = 20$ 인 경우: $y \in \{10, 12, 13, 14, 15, 16, 17\}$ 이외에도 $y \in \{11, 18\}$ 일 때 상기한 세 조건을 모두 만족하므로 답은 9가 된다.
$x = 15, A = 5, B = 1, C = 20$ 인 경우: $y \in \{10, 14, 15, 16\}$ 일 때 상기한 세 조건을 모두 만족하므로 답은 4가 된다.
다른 예로 $N = 30$ 인 경우를 생각해보자.
$x = 14, A = 0, B = 0, C = 0$ 인 경우: $y = 14$ 가 유일하게 조건을 모두 만족시키므로 답은 1이 된다.
$x = 14, A = 1, B = 0, C = 1$ 인 경우: $y \in \{14, 15\}$ 가 조건을 모두 만족시킨다 - 이 퀴즈의 답은 2이다.
$x = 14, A = 1, B = 1, C = 20$ 인 경우: $y \in \{14, 15\}$ 가 조건을 모두 만족시킨다 - 이 퀴즈의 답은 2이다.
$x = 15, A = 5, B = 2, C = 20$ 인 경우: $y \in \{10, 11, \dots, 19, 20\}$ 가 조건을 모두 만족시킨다 - 이 퀴즈의 답은 11 이다.
Alice는 $N$의 값은 고정시켜둔채로 Bert에게 $M$개의 퀴즈를 내고 싶어한다 - 편의상 $i$ 번째 퀴즈는 $(x_i, A_i, B_i, C_i)$ 네 개의 정수로 표현하자. 입력으로 $N, M,ドル 그리고 $(x_i, A_i, B_i, C_i)$ 값들이 주어졌을 때, 각 퀴즈의 정답을 구해보자 (편의상 $i$ 번째 퀴즈의 정답을 $E_i$ 라 하자).
출력
각 테스트 케이스의 정답인 $E_1, E_2, \dots, E_M$ 을 공백으로 구분하여 각 줄에 출력한다.
제한
1ドル \le T \le 20$
1ドル \le N \le 200,000円$
1ドル \le M \le 10,000円$
1ドル \le i \le M$ 인 $i$에 대하여:
1ドル \le x_i \le N$
0ドル \le A_i \le N$
0ドル \le B_i \le 5$
0ドル \le C_i \le 1,000円,000円$
예제 출력 1
복사
1 2 2 11
4 7 9
1 1 8
예제 1-2: 본문에서 다루었다.
예제 3: 추가 설명 없음.
W3sicHJvYmxlbV9pZCI6IjMyMjcwIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjNTdkXHVjMjE4IFx1YjE4MFx1Yzc3NCIsImRlc2NyaXB0aW9uIjoiPHA+QmVydFx1YjI5NCBcdWNkNWNcdWFkZmMgXHVjMjE4XHVkNTU5IFx1YzJkY1x1YWMwNFx1YzVkMCBcdWM1N2RcdWMyMThcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YmMzMFx1YzZlMFx1YjJlNC4gXHVjNzg0XHVjNzU4XHVjNzU4IFx1Yzc5MFx1YzVmMFx1YzIxOCAkeCBcXGdlIDEkXHVjNWQwIFx1YjMwMFx1ZDU1OFx1YzVlYzxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPiREKHgpJCA6ICR4JCBcdWM3NTggXHVjNTdkXHVjMjE4XHVjNzU4IFx1YWMxY1x1YzIxOCAoXHVjOTg5LCAkMSQgXHVjNzc0XHVjMGMxICR4JCBcdWM3NzRcdWQ1NThcdWM3NTggXHVjNzkwXHVjNWYwXHVjMjE4ICR5JCBcdWM5MTEgJHgkXHViOTdjIFx1YjA5OFx1YjIwNFx1YzViNCBcdWI1YThcdWM1YjRcdWM5YzBcdWFjOGMgXHVkNTU4XHViMjk0ICR5JFx1Yzc1OCBcdWFjMWNcdWMyMTgpPFwvbGk+XHJcblx0PGxpPiRTKHgpJCA6ICR4JCBcdWM3NTggXHVjNTdkXHVjMjE4XHVjNzU4IFx1Y2QxZFx1ZDU2OSAoXHVjOTg5LCAkMSQgXHVjNzc0XHVjMGMxICR4JCBcdWM3NzRcdWQ1NThcdWM3NTggXHVjNzkwXHVjNWYwXHVjMjE4ICR5JCBcdWM5MTEgJHgkXHViOTdjIFx1YjA5OFx1YjIwNFx1YzViNCBcdWI1YThcdWM1YjRcdWM5YzBcdWFjOGMgXHVkNTU4XHViMjk0ICR5JFx1Yzc1OCBcdWNkMWRcdWQ1NjkpPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVjNzc0XHViNzdjIFx1YzgxNVx1Yzc1OFx1ZDU1OFx1Yzc5MC48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YmE3NDxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjFcdWM3NTggXHVjNTdkXHVjMjE4XHViMjk0ICRcXHsxXFx9JCBcdWM3NzRcdWJiYzBcdWI4NWMgJEQoMSkgPSAxJCwgJFMoMSkgPSAxJCBcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPjEwXHVjNzU4IFx1YzU3ZFx1YzIxOFx1YjI5NCAkXFx7MSwgMiwgNSwgMTBcXH0kIFx1Yzc3NFx1YmJjMFx1Yjg1YyAkRCgxMCkgPSA0JCwgJFMoMTApID0gMTgkIFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+MTJcdWM3NTggXHVjNTdkXHVjMjE4XHViMjk0ICRcXHsxLCAyLCAzLCA0LCA2LCAxMlxcfSQgXHVjNzc0XHViYmMwXHViODVjICREKDEyKSA9IDYkLCAkUygxMikgPSAyOCQgXHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT4xNFx1Yzc1OCBcdWM1N2RcdWMyMThcdWIyOTQgJFxcezEsIDIsIDcsIDE0XFx9JCBcdWM3NzRcdWJiYzBcdWI4NWMgJEQoMTQpID0gNCQsICRTKDE0KSA9IDI0JCBcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPjE1XHVjNzU4IFx1YzU3ZFx1YzIxOFx1YjI5NCAkXFx7MSwgMywgNSwgMTVcXH0kIFx1Yzc3NFx1YmJjMFx1Yjg1YyAkRCgxNSkgPSA0JCwgJFMoMTUpID0gMjQkIFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5CZXJ0XHVhYzAwIFx1YWNmNVx1YmQ4MFx1ZDU1OFx1YjM1OCBcdWJhYThcdWMyYjVcdWM3NDQgXHVjOWMwXHVjZjFjXHViY2Y0XHViMzU4IEJlcnRcdWM3NTggXHViMjA0XHViMDk4IEFsaWNlXHViMjk0IFx1YzU0NFx1Yjc5OFx1YzY0MCBcdWFjMTlcdWM3NDAgXHVkMDM0XHVjOTg4XHViOTdjIFx1YjBjOFx1YmNmNFx1YzU1OFx1YjJlNDogJFEoTiwgeCwgQSwgQiwgQykkOiAkMSQgXHVjNzc0XHVjMGMxICROJCBcdWM3NzRcdWQ1NThcdWM3NzggXHVjNzkwXHVjNWYwXHVjMjE4ICR5JCBcdWM5MTEgXHVjNTQ0XHViNzk4IFx1YzEzOCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViYWE4XHViNDUwIFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWM3OTBcdWM1ZjBcdWMyMThcdWM3NTggXHVhYzFjXHVjMjE4XHViMjk0PzxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPiR8eCAtIHl8IFxcbGUgQSQ8XC9saT5cclxuXHQ8bGk+JHxEKHgpIC0gRCh5KXwgXFxsZSBCJDxcL2xpPlxyXG5cdDxsaT4kfFMoeCkgLSBTKHkpfCBcXGxlIEMkPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCAkTiA9IDE4JCBcdWM3NzggXHVhY2JkXHVjNmIwXHViOTdjIFx1YzBkZFx1YWMwMVx1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4keCA9IDE1LCBBID0gNSwgQiA9IDIsIEMgPSAxMCQgXHVjNzc4IFx1YWNiZFx1YzZiMDogJHkgXFxpbiBcXHsxMCwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxN1xcfSQgXHVjNzdjIFx1YjU0YyBcdWMwYzFcdWFlMzBcdWQ1NWMgXHVjMTM4IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVkNTU4XHViYmMwXHViODVjIFx1YjJmNVx1Yzc0MCA3XHVjNzc0IFx1YjQxY1x1YjJlNC48XC9saT5cclxuXHQ8bGk+JHggPSAxNSwgQSA9IDUsIEIgPSAyLCBDID0gMjAkIFx1Yzc3OCBcdWFjYmRcdWM2YjA6ICR5IFxcaW4gXFx7MTAsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTdcXH0kIFx1Yzc3NFx1YzY3OFx1YzVkMFx1YjNjNCAkeSBcXGluIFxcezExLCAxOFxcfSQgXHVjNzdjIFx1YjU0YyBcdWMwYzFcdWFlMzBcdWQ1NWMgXHVjMTM4IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVkNTU4XHViYmMwXHViODVjIFx1YjJmNVx1Yzc0MCA5XHVhYzAwIFx1YjQxY1x1YjJlNC48XC9saT5cclxuXHQ8bGk+JHggPSAxNSwgQSA9IDUsIEIgPSAxLCBDID0gMjAkIFx1Yzc3OCBcdWFjYmRcdWM2YjA6ICR5IFxcaW4gXFx7MTAsIDE0LCAxNSwgMTZcXH0kIFx1Yzc3YyBcdWI1NGMgXHVjMGMxXHVhZTMwXHVkNTVjIFx1YzEzOCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViYWE4XHViNDUwIFx1YjljY1x1Yzg3MVx1ZDU1OFx1YmJjMFx1Yjg1YyBcdWIyZjVcdWM3NDAgNFx1YWMwMCBcdWI0MWNcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViMmU0XHViOTc4IFx1YzYwOFx1Yjg1YyAkTiA9IDMwJCBcdWM3NzggXHVhY2JkXHVjNmIwXHViOTdjIFx1YzBkZFx1YWMwMVx1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4keCA9IDE0LCBBID0gMCwgQiA9IDAsIEMgPSAwJCBcdWM3NzggXHVhY2JkXHVjNmIwOiAkeSA9IDE0JCBcdWFjMDAgXHVjNzIwXHVjNzdjXHVkNTU4XHVhYzhjIFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVjMmRjXHVkMGE0XHViYmMwXHViODVjIFx1YjJmNVx1Yzc0MCAxXHVjNzc0IFx1YjQxY1x1YjJlNC48XC9saT5cclxuXHQ8bGk+JHggPSAxNCwgQSA9IDEsIEIgPSAwLCBDID0gMSQgXHVjNzc4IFx1YWNiZFx1YzZiMDogJHkgXFxpbiBcXHsxNCwgMTVcXH0kIFx1YWMwMCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViYWE4XHViNDUwIFx1YjljY1x1Yzg3MVx1YzJkY1x1ZDBhOFx1YjJlNCAtIFx1Yzc3NCBcdWQwMzRcdWM5ODhcdWM3NTggXHViMmY1XHVjNzQwIDJcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPiR4ID0gMTQsIEEgPSAxLCBCID0gMSwgQyA9IDIwJCBcdWM3NzggXHVhY2JkXHVjNmIwOiAkeSBcXGluIFxcezE0LCAxNVxcfSQgXHVhYzAwIFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVjMmRjXHVkMGE4XHViMmU0IC0gXHVjNzc0IFx1ZDAzNFx1Yzk4OFx1Yzc1OCBcdWIyZjVcdWM3NDAgMlx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+JHggPSAxNSwgQSA9IDUsIEIgPSAyLCBDID0gMjAkIFx1Yzc3OCBcdWFjYmRcdWM2YjA6ICR5IFxcaW4gXFx7MTAsIDExLCBcXGRvdHMsIDE5LCAyMFxcfSQgXHVhYzAwIFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWJhYThcdWI0NTAgXHViOWNjXHVjODcxXHVjMmRjXHVkMGE4XHViMmU0IC0gXHVjNzc0IFx1ZDAzNFx1Yzk4OFx1Yzc1OCBcdWIyZjVcdWM3NDAgMTEgXHVjNzc0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkFsaWNlXHViMjk0ICROJFx1Yzc1OCBcdWFjMTJcdWM3NDAgXHVhY2UwXHVjODE1XHVjMmRjXHVjZjFjXHViNDU0XHVjYzQ0XHViODVjIEJlcnRcdWM1ZDBcdWFjOGMgJE0kXHVhYzFjXHVjNzU4IFx1ZDAzNFx1Yzk4OFx1Yjk3YyBcdWIwYjRcdWFjZTAgXHVjMmY2XHVjNWI0XHVkNTVjXHViMmU0IC0gXHVkM2I4XHVjNzU4XHVjMGMxICRpJCBcdWJjODhcdWM5ZjggXHVkMDM0XHVjOTg4XHViMjk0ICQoeF9pLCBBX2ksIEJfaSwgQ19pKSQgXHViMTI0IFx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMThcdWI4NWMgXHVkNDVjXHVkNjA0XHVkNTU4XHVjNzkwLiBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgJE4sIE0kLCBcdWFkZjhcdWI5YWNcdWFjZTAgICQoeF9pLCBBX2ksIEJfaSwgQ19pKSQgXHVhYzEyXHViNGU0XHVjNzc0IFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YWMwMSBcdWQwMzRcdWM5ODhcdWM3NTggXHVjODE1XHViMmY1XHVjNzQ0IFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MCAoXHVkM2I4XHVjNzU4XHVjMGMxICRpJCBcdWJjODhcdWM5ZjggXHVkMDM0XHVjOTg4XHVjNzU4IFx1YzgxNVx1YjJmNVx1Yzc0NCAkRV9pJCBcdWI3N2MgXHVkNTU4XHVjNzkwKS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNSBcdWNjYWIgXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjMjE4ICRUJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1Y2NhYiBcdWM5MDRcdWM1ZDBcdWIyOTQgJE4kIFx1YWNmYyAkTSQgXHVjNzc0IFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIyZTRcdWM3NGMgJE0kIFx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgXHVhYzAxIFx1YzkwNFx1YzVkMCA0XHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCAkeF9pLCBBX2ksIEJfaSwgQ19pJFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NFx1YjM3MCBcdWM3NzRcdWIyOTQgJGkkIFx1YmM4OFx1YzlmOCBcdWQwMzRcdWM5ODhcdWI5N2MgXHVkNDVjXHVkNjA0XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YzgxNVx1YjJmNVx1Yzc3OCAkRV8xLCBFXzIsIFxcZG90cywgRV9NJCBcdWM3NDQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1ZDU1OFx1YzVlYyBcdWFjMDEgXHVjOTA0XHVjNWQwIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDEgXFxsZSBUIFxcbGUgMjAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgTiBcXGxlIDIwMFxcLDAwMCQ8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBNIFxcbGUgMTBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgaSBcXGxlIE0kIFx1Yzc3OCAkaSRcdWM1ZDAgXHViMzAwXHVkNTU4XHVjNWVjOlxyXG5cdDx1bD5cclxuXHRcdDxsaT4kMSBcXGxlIHhfaSBcXGxlIE4kPFwvbGk+XHJcblx0XHQ8bGk+JDAgXFxsZSBBX2kgXFxsZSBOJDxcL2xpPlxyXG5cdFx0PGxpPiQwIFxcbGUgQl9pIFxcbGUgNSQ8XC9saT5cclxuXHRcdDxsaT4kMCBcXGxlIENfaSBcXGxlIDFcXCwwMDBcXCwwMDAkPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzYW1wbGVfZXhwbGFpbl8xIjoiPHA+XHVjNjA4XHVjODFjIDEtMjogXHViY2Y4XHViYjM4XHVjNWQwXHVjMTFjIFx1YjJlNFx1YjhlOFx1YzVjOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHVjODFjIDM6IFx1Y2Q5NFx1YWMwMCBcdWMxMjRcdWJhODUgXHVjNWM2XHVjNzRjLjxcL3A+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjMyMjcwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiRGl2aXNvciBHYW1lIiwiZGVzY3JpcHRpb24iOiI8cD5CZXJ0IHJlY2VudGx5IGxlYXJuZWQgYWJvdXQgZGl2aXNvcnMgb2YgaW50ZWdlcnMgaW4gbWF0aCBjbGFzcy4gRm9yIGFueSBuYXR1cmFsIG51bWJlciAkeCBcXGdlIDEkOiBMZXQgdXMgZGVmaW5lPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JEQoeCkkIHRvIGJlIHRoZSBudW1iZXIgb2YgZGl2aXNvcnMgb2YgJHgkICh0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIGludGVnZXIgJHkkJiMzOTtzIHdpdGggJDEgXFxsZSB5IFxcbGUgeCQgdGhhdCBkaXZpZGVzICR4JCkgYW5kPFwvbGk+XHJcblx0PGxpPiRTKHgpJCB0byBiZSB0aGUgc3VtIG9mIGRpdmlzb3JzIG9mICR4JCAodGhhdCBpcywgdGhlIHN1bSBvZiBpbnRlZ2VyICR5JCYjMzk7cyB3aXRoICQxIFxcbGUgeSBcXGxlIHgkIHRoYXQgZGl2aWRlcyAkeCQpLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkZvciBpbnN0YW5jZSwmbmJzcDs8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xJiMzOTtzIGRpdmlzb3IgaXMgJFxcezFcXH0kLCBhbmQgdGh1cyZuYnNwOyREKDEpID0gMSQgYW5kJm5ic3A7JFMoMSkgPSAxJC48XC9saT5cclxuXHQ8bGk+MTAmIzM5O3MgZGl2aXNvcnMgYXJlICRcXHsxLCAyLCA1LCAxMFxcfSQsIGFuZCB0aHVzJm5ic3A7JEQoMTApID0gNCQgYW5kICRTKDEwKSA9IDE4JC48XC9saT5cclxuXHQ8bGk+MTImIzM5O3MgZGl2aXNvcnMgYXJlICRcXHsxLCAyLCAzLCA0LCA2LCAxMlxcfSQsIGFuZCB0aHVzJm5ic3A7JEQoMTIpID0gNiQgYW5kICRTKDEyKSA9IDI4JC48XC9saT5cclxuXHQ8bGk+MTQmIzM5O3MgZGl2aXNvcnMgYXJlICRcXHsxLCAyLCA3LCAxNFxcfSQsIGFuZCB0aHVzJm5ic3A7JEQoMTQpID0gNCQgYW5kICRTKDE0KSA9IDI0JC48XC9saT5cclxuXHQ8bGk+MTUmIzM5O3MgZGl2aXNvcnMgYXJlICRcXHsxLCAzLCA1LCAxNVxcfSQsIGFuZCB0aHVzJm5ic3A7JEQoMTUpID0gNCQgYW5kICRTKDE1KSA9IDI0JC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5BZnRlciB3YXRjaGluZyBCZXJ0IHN0dWR5aW5nIG1hdGgsIEFsaWNlIGRhcmVkIEJlcnQgdG8gc29sdmUgdGhlIGZvbGxvd2luZyBxdWl6OiAkUShOLCB4LCBBLCBCLCBDKSQ6IEhvdyBtYW55IGludGVnZXIgJHkkJiMzOTtzIGV4aXN0IHdpdGggJDEgXFxsZSB5IFxcbGUgTiQgdGhhdCBzYXRpc2Z5IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucz88XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT4kfHggLSB5fCBcXGxlIEEkPFwvbGk+XHJcblx0PGxpPiR8RCh4KSAtIEQoeSl8IFxcbGUgQiQ8XC9saT5cclxuXHQ8bGk+JHxTKHgpIC0gUyh5KXwgXFxsZSBDJDxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPkxldCB1cyBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSAkTiA9IDE4JC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5XaGVuICR4ID0gMTUsIEEgPSA1LCBCID0gMiwgQyA9IDEwJDogJHkgXFxpbiBcXHsxMCwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxN1xcfSQgaXMgdGhlIHNldCBvZiBzdWNoICR5JCYjMzk7cyB0aGF0IHNhdGlzZnkgYWxsIHRocmVlIGNvbmRpdGlvbnMsIGFuZCB0aHVzIHRoZSBhbnN3ZXIgdG8gdGhpcyBxdWl6IGlzIDcuPFwvbGk+XHJcblx0PGxpPldoZW4gJHggPSAxNSwgQSA9IDUsIEIgPSAyLCBDID0gMjAkOiBJbiBhZGRpdGlvbiB0byAkeSBcXGluIFxcezEwLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3XFx9JCwmbmJzcDskeSBcXGluIFxcezExLCAxOFxcfSQgYWxzbyBzYXRpc2Z5IGFsbCB0aHJlZSBjb25kaXRpb25zLiBIZW5jZSwgdGhlIGFuc3dlciBpcyA5LjxcL2xpPlxyXG5cdDxsaT5XaGVuICR4ID0gMTUsIEEgPSA1LCBCID0gMSwgQyA9IDIwJDogJHkgXFxpbiBcXHsxMCwgMTQsIDE1LCAxNlxcfSQgaXMgdGhlIHNldCBvZiAkeSQmIzM5O3Mgc2F0aXNmeWluZyB0aGUgdGhyZWUgY29uZGl0aW9ucy4gVGhlIGFuc3dlciBpcyA0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkNvbnNpZGVyIGFub3RoZXIgY2FzZSB3aGVyZSAkTiA9IDMwJC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5XaGVuICR4ID0gMTQsIEEgPSAwLCBCID0gMCwgQyA9IDAkOiAkeSA9IDE0JCBpcyB0aGUgb25seSBpbnRlZ2VyLiBIZW5jZSwgdGhlIGFuc3dlciBpcyAxLjxcL2xpPlxyXG5cdDxsaT5XaGVuICR4ID0gMTQsIEEgPSAxLCBCID0gMCwgQyA9IDEkOiAkeSBcXGluIFxcezE0LCAxNVxcfSQgc2F0aXNmeSBhbGwgdGhyZWUgY29uZGl0aW9ucy4gVGhlIGFuc3dlciBpcyAyLjxcL2xpPlxyXG5cdDxsaT5XaGVuICR4ID0gMTQsIEEgPSAxLCBCID0gMSwgQyA9IDIwJDogJHkgXFxpbiBcXHsxNCwgMTVcXH0kIHNhdGlzZnkgYWxsIHRocmVlIGNvbmRpdGlvbnMuIFRoZSBhbnN3ZXIgaXMgMi48XC9saT5cclxuXHQ8bGk+V2hlbiAkeCA9IDE1LCBBID0gNSwgQiA9IDIsIEMgPSAyMCQ6ICR5IFxcaW4gXFx7MTAsIDExLCBcXGRvdHMsIDE5LCAyMFxcfSQgc2F0aXNmeSBhbGwgdGhyZWUgY29uZGl0aW9ucy4gVGhlIGFuc3dlciBpcyAxMS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5BbGljZSB3YW50cyB0byBhc2sgQmVydCAkTSQgcXVpenplcyB3aGlsZSAkTiQgYmVpbmcgZml4ZWQgLS0gZm9yIGNvbnZlbmllbmNlLCBsZXQgdXMgZGVzY3JpYmUgdGhlICRpJC10aCBxdWl6IHVzaW5nIGZvdXIgaW50ZWdlcnMmbmJzcDskKHhfaSwgQV9pLCBCX2ksIENfaSkkLiBHaXZlbiAkTiwgTSQsIGFuZCZuYnNwOyQoeF9pLCBBX2ksIEJfaSwgQ19pKSQgdmFsdWVzLCBjb21wdXRlIHRoZSBhbnN3ZXIgdG8gZWFjaCBxdWl6IChsZXQgJEVfaSQgYmUgdGhlIGFuc3dlciB0byB0aGUgJGkkLXRoIHF1aXopLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgd2lsbCBjb250YWluICRUJCwgdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzLjxcL3A+XHJcblxyXG48cD5UaGUgZmlyc3QgbGluZSBvZiBlYWNoIHRlc3QgY2FzZSB3aWxsIGNvbnRhaW4gJE4kIGFuZCAkTSQsIHNlcGFyYXRlZCBieSB3aGl0ZXNwYWNlLiBFYWNoIG9mIHRoZSBuZXh0ICRNJCBsaW5lcyB3aWxsIGNvbnRhaW4gZm91ciBpbnRlZ2VycyZuYnNwOyR4X2ksIEFfaSwgQl9pJCwgYW5kICRDX2kkLCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSwgZGVzY3JpYmluZyB0aGUgJGkkLXRoIHF1aXouPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IGVhY2ggdGVzdCBjYXNlJiMzOTtzIGFuc3dlciwgJEVfMSwgRV8yLCBcXGRvdHMsIEVfTSQgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UsIGluIGVhY2ggbGluZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQxIFxcbGUgVCBcXGxlIDIwJDxcL2xpPlxyXG5cdDxsaT4kMSBcXGxlIE4gXFxsZSAyMDBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgTSBcXGxlIDEwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT5Gb3IgZWFjaCAkaSQgd2l0aCAkMSBcXGxlIGkgXFxsZSBNJDpcclxuXHQ8dWw+XHJcblx0XHQ8bGk+JDEgXFxsZSB4X2kgXFxsZSBOJDxcL2xpPlxyXG5cdFx0PGxpPiQwIFxcbGUgQSBcXGxlIE4kPFwvbGk+XHJcblx0XHQ8bGk+JDAgXFxsZSBCIFxcbGUgNSQ8XC9saT5cclxuXHRcdDxsaT4kMCBcXGxlIEMgXFxsZSAxXFwsMDAwXFwsMDAwJDxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPkNhc2VzIDEtMjogRGlzY3Vzc2VkIGluIHRoZSBwcm9ibGVtIHN0YXRlbWVudC48XC9wPlxyXG5cclxuPHA+Q2FzZSAzOiBObyBmdXJ0aGVyIGV4cGxhbmF0aW9uIHByb3ZpZGVkLjxcL3A+XHJcblxyXG4ifV0=