시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 54 15 14 43.750%

문제

x에 x를 30번 곱하면 x31이 된다.

x2 = x × x, x3 = x2 × x, x4 = x3 × x, ..., x31 = x30 × x

만약, 결과를 제곱할 수 있다면, 8번만에 x31을 구할 수 있다.

x2 = x × x, x3 = x2 × x, x6 = x3 × x3, x7 = x6 × x, x14 = x7 × x7, x15 = x14 × x, x30 = x15 × x15, x31 = x30 × x

이전에 나온 계산 결과를 곱하는 방법도 같이 사용한다면 x31은 7번만에 구할 수 있다.

x2 = x × x, x4 = x2 × x2, x8 = x4 × x4, x10 = x8 × x2, x20 = x10 × x10, x30 = x20 × x10, x31 = x30 × x

위의 방법이 곱셈만으로 x31을 구하는 가장 효율적인 방법이다.

만약 나눗셈을 사용할 수 있다면, 연산의 수를 더 줄일 수 있다. x31을 5번의 곱셈과 1번의 나눗셈으로 구할 수 있다.

x2 = x × x, x4 = x2 × x2, x8 = x4 × x4, x16 = x8 × x8, x32 = x16 × x16, x31 = x32 ÷ x

이 방법은 나눗셈이 곱셈만큼 빠를 때 x31을 계산하는 가장 효율적인 방법이다.

x로 시작해서 xn을 만드는데 드는 연산 회수의 최솟값을 구하는 프로그램을 작성하시오. 문제에서 설명한 곱셈과 나눗셈만 사용할 수 있다. 연산의 결과는 항상 x의 양의 제곱수 이어야 한다. 즉, x-3은 나오면 안 된다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있고, 정수 n이 주어진다. n은 양의 정수이며, 1000보다 작거나 같다.

출력

각각의 테스트 케이스에 대해서, 한 줄에 하나씩 xn을 만드는데 필요한 곱셈과 나눗셈의 최소 회수를 출력한다.

예제 입력 1

8
1
31
70
91
473
512
811
953

예제 출력 1

0
6
8
9
11
9
13
12
W3sicHJvYmxlbV9pZCI6IjM5MTAiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFjNzBcdWI0ZWRcdWM4MWNcdWFjZjEgXHVhY2M0XHVjMGIwIiwiZGVzY3JpcHRpb24iOiI8cD5cclxuXHR4XHVjNWQwIHhcdWI5N2MgMzBcdWJjODggXHVhY2YxXHVkNTU4XHViYTc0IHg8c3VwPjMxPFwvc3VwPlx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdHg8c3VwPjI8XC9zdXA+ID0geCAmdGltZXM7IHgsIHg8c3VwPjM8XC9zdXA+ID0geDxzdXA+MjxcL3N1cD4gJnRpbWVzOyB4LCB4PHN1cD40PFwvc3VwPiA9IHg8c3VwPjM8XC9zdXA+ICZ0aW1lczsgeCwgLi4uLCB4PHN1cD4zMTxcL3N1cD4gPSB4PHN1cD4zMDxcL3N1cD4gJnRpbWVzOyB4PFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1YjljY1x1YzU3ZCwgXHVhY2IwXHVhY2ZjXHViOTdjIFx1YzgxY1x1YWNmMVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0XHViYTc0LCA4XHViYzg4XHViOWNjXHVjNWQwIHg8c3VwPjMxPFwvc3VwPlx1Yzc0NCBcdWFkNmNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHJcblx0eDxzdXA+MjxcL3N1cD4gPSB4ICZ0aW1lczsgeCwgeDxzdXA+MzxcL3N1cD4gPSB4PHN1cD4yPFwvc3VwPiAmdGltZXM7IHgsIHg8c3VwPjY8XC9zdXA+ID0geDxzdXA+MzxcL3N1cD4gJnRpbWVzOyB4PHN1cD4zPFwvc3VwPiwgeDxzdXA+NzxcL3N1cD4gPSB4PHN1cD42PFwvc3VwPiAmdGltZXM7IHgsIHg8c3VwPjE0PFwvc3VwPiA9IHg8c3VwPjc8XC9zdXA+ICZ0aW1lczsgeDxzdXA+NzxcL3N1cD4sIHg8c3VwPjE1PFwvc3VwPiA9IHg8c3VwPjE0PFwvc3VwPiAmdGltZXM7IHgsIHg8c3VwPjMwPFwvc3VwPiA9IHg8c3VwPjE1PFwvc3VwPiAmdGltZXM7IHg8c3VwPjE1PFwvc3VwPiwgeDxzdXA+MzE8XC9zdXA+ID0geDxzdXA+MzA8XC9zdXA+ICZ0aW1lczsgeDxcL3A+XHJcblxyXG48cD5cclxuXHRcdWM3NzRcdWM4MDRcdWM1ZDAgXHViMDk4XHVjNjI4IFx1YWNjNFx1YzBiMCBcdWFjYjBcdWFjZmNcdWI5N2MgXHVhY2YxXHVkNTU4XHViMjk0IFx1YmMyOVx1YmM5NVx1YjNjNCBcdWFjMTlcdWM3NzQgXHVjMGFjXHVjNmE5XHVkNTVjXHViMmU0XHViYTc0IHg8c3VwPjMxPFwvc3VwPlx1Yzc0MCA3XHViYzg4XHViOWNjXHVjNWQwIFx1YWQ2Y1x1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHR4PHN1cD4yPFwvc3VwPiA9IHggJnRpbWVzOyB4LCB4PHN1cD40PFwvc3VwPiA9IHg8c3VwPjI8XC9zdXA+ICZ0aW1lczsgeDxzdXA+MjxcL3N1cD4sIHg8c3VwPjg8XC9zdXA+ID0geDxzdXA+NDxcL3N1cD4gJnRpbWVzOyB4PHN1cD40PFwvc3VwPiwgeDxzdXA+MTA8XC9zdXA+ID0geDxzdXA+ODxcL3N1cD4gJnRpbWVzOyB4PHN1cD4yPFwvc3VwPiwgeDxzdXA+MjA8XC9zdXA+ID0geDxzdXA+MTA8XC9zdXA+ICZ0aW1lczsgeDxzdXA+MTA8XC9zdXA+LCB4PHN1cD4zMDxcL3N1cD4gPSB4PHN1cD4yMDxcL3N1cD4gJnRpbWVzOyB4PHN1cD4xMDxcL3N1cD4sIHg8c3VwPjMxPFwvc3VwPiA9IHg8c3VwPjMwPFwvc3VwPiAmdGltZXM7IHg8XC9wPlxyXG5cclxuPHA+XHJcblx0XHVjNzA0XHVjNzU4IFx1YmMyOVx1YmM5NVx1Yzc3NCBcdWFjZjFcdWMxNDhcdWI5Y2NcdWM3M2NcdWI4NWMgeDxzdXA+MzE8XC9zdXA+XHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWFjMDBcdWM3YTUgXHVkNmE4XHVjNzI4XHVjODAxXHVjNzc4IFx1YmMyOVx1YmM5NVx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHJcblx0XHViOWNjXHVjNTdkIFx1YjA5OFx1YjIxN1x1YzE0OFx1Yzc0NCBcdWMwYWNcdWM2YTlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNFx1YmE3NCwgXHVjNWYwXHVjMGIwXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWIzNTQgXHVjOTA0XHVjNzdjIFx1YzIxOCBcdWM3ODhcdWIyZTQuIHg8c3VwPjMxPFwvc3VwPlx1Yzc0NCA1XHViYzg4XHVjNzU4IFx1YWNmMVx1YzE0OFx1YWNmYyAxXHViYzg4XHVjNzU4IFx1YjA5OFx1YjIxN1x1YzE0OFx1YzczY1x1Yjg1YyBcdWFkNmNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHJcblx0eDxzdXA+MjxcL3N1cD4gPSB4ICZ0aW1lczsgeCwgeDxzdXA+NDxcL3N1cD4gPSB4PHN1cD4yPFwvc3VwPiAmdGltZXM7IHg8c3VwPjI8XC9zdXA+LCB4PHN1cD44PFwvc3VwPiA9IHg8c3VwPjQ8XC9zdXA+ICZ0aW1lczsgeDxzdXA+NDxcL3N1cD4sIHg8c3VwPjE2PFwvc3VwPiA9IHg8c3VwPjg8XC9zdXA+ICZ0aW1lczsgeDxzdXA+ODxcL3N1cD4sIHg8c3VwPjMyPFwvc3VwPiA9IHg8c3VwPjE2PFwvc3VwPiAmdGltZXM7IHg8c3VwPjE2PFwvc3VwPiwgeDxzdXA+MzE8XC9zdXA+ID0geDxzdXA+MzImbmJzcDs8XC9zdXA+JmRpdmlkZTsgeDxcL3A+XHJcblxyXG48cD5cclxuXHRcdWM3NzQgXHViYzI5XHViYzk1XHVjNzQwIFx1YjA5OFx1YjIxN1x1YzE0OFx1Yzc3NCBcdWFjZjFcdWMxNDhcdWI5Y2NcdWQwN2MgXHViZTYwXHViOTdjIFx1YjU0YyB4PHN1cD4zMTxcL3N1cD5cdWM3NDQgXHVhY2M0XHVjMGIwXHVkNTU4XHViMjk0IFx1YWMwMFx1YzdhNSBcdWQ2YThcdWM3MjhcdWM4MDFcdWM3NzggXHViYzI5XHViYzk1XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHR4XHViODVjIFx1YzJkY1x1Yzc5MVx1ZDU3NFx1YzExYyB4PHN1cD5uPFwvc3VwPlx1Yzc0NCBcdWI5Y2NcdWI0ZGNcdWIyOTRcdWIzNzAgXHViNGRjXHViMjk0IFx1YzVmMFx1YzBiMCBcdWQ2OGNcdWMyMThcdWM3NTggXHVjZDVjXHVjMTlmXHVhYzEyXHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LiBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWMgXHVjMTI0XHViYTg1XHVkNTVjIFx1YWNmMVx1YzE0OFx1YWNmYyBcdWIwOThcdWIyMTdcdWMxNDhcdWI5Y2MgXHVjMGFjXHVjNmE5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1YzVmMFx1YzBiMFx1Yzc1OCBcdWFjYjBcdWFjZmNcdWIyOTQgXHVkNTZkXHVjMGMxIHhcdWM3NTggXHVjNTkxXHVjNzU4IFx1YzgxY1x1YWNmMVx1YzIxOCBcdWM3NzRcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWM5ODksIHg8c3VwPi0zPFwvc3VwPlx1Yzc0MCBcdWIwOThcdWM2MjRcdWJhNzQgXHVjNTQ4IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlxyXG5cdFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWFjMWNcdWMyMTggVFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViMjk0IFx1ZDU1YyBcdWM5MDRcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YWNlMCwgXHVjODE1XHVjMjE4IG5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBuXHVjNzQwIFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMThcdWM3NzRcdWJhNzAsIDEwMDBcdWJjZjRcdWIyZTQgXHVjNzkxXHVhYzcwXHViMDk4IFx1YWMxOVx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cclxuXHRcdWFjMDFcdWFjMDFcdWM3NTggXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMsIFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVkNTU4XHViMDk4XHVjNTI5IHhuXHVjNzQ0IFx1YjljY1x1YjRkY1x1YjI5NFx1YjM3MCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHVhY2YxXHVjMTQ4XHVhY2ZjIFx1YjA5OFx1YjIxN1x1YzE0OFx1Yzc1OCBcdWNkNWNcdWMxOGMgXHVkNjhjXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIzOTEwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUG93ZXIgQ2FsY3VsdXMiLCJkZXNjcmlwdGlvbiI6IjxwPlN0YXJ0aW5nIHdpdGggeCBhbmQgcmVwZWF0ZWRseSBtdWx0aXBseWluZyBieSB4LCB3ZSBjYW4gY29tcHV0ZSB4PHN1cD4zMTxcL3N1cD4gd2l0aCB0aGlydHkgbXVsdGlwbGljYXRpb25zOjxcL3A+XHJcblxyXG48cD54PHN1cD4yPFwvc3VwPiZuYnNwOz0geCAmdGltZXM7IHgsIHg8c3VwPjM8XC9zdXA+Jm5ic3A7PSB4PHN1cD4yPFwvc3VwPiZuYnNwOyZ0aW1lczsgeCwgeDxzdXA+NDxcL3N1cD4mbmJzcDs9IHg8c3VwPjM8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4LCAuLi4sIHg8c3VwPjMxPFwvc3VwPiZuYnNwOz0geDxzdXA+MzA8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PFwvcD5cclxuXHJcbjxwPlRoZSBvcGVyYXRpb24gb2Ygc3F1YXJpbmcgY2FuIGFwcHJlY2lhYmx5IHNob3J0ZW4gdGhlIHNlcXVlbmNlIG9mIG11bHRpcGxpY2F0aW9ucy4gVGhlIGZvbGxvd2luZyBpcyBhIHdheSB0byBjb21wdXRlIHg8c3VwPjMxPFwvc3VwPiB3aXRoIGVpZ2h0IG11bHRpcGxpY2F0aW9uczo8XC9wPlxyXG5cclxuPHA+eDxzdXA+MjxcL3N1cD4mbmJzcDs9IHggJnRpbWVzOyB4LCB4PHN1cD4zPFwvc3VwPiZuYnNwOz0geDxzdXA+MjxcL3N1cD4mbmJzcDsmdGltZXM7IHgsIHg8c3VwPjY8XC9zdXA+Jm5ic3A7PSB4PHN1cD4zPFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+MzxcL3N1cD4sIHg8c3VwPjc8XC9zdXA+Jm5ic3A7PSB4PHN1cD42PFwvc3VwPiZuYnNwOyZ0aW1lczsgeCwgeDxzdXA+MTQ8XC9zdXA+Jm5ic3A7PSB4PHN1cD43PFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+NzxcL3N1cD4sIHg8c3VwPjE1PFwvc3VwPiZuYnNwOz0geDxzdXA+MTQ8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4LCB4PHN1cD4zMDxcL3N1cD4mbmJzcDs9IHg8c3VwPjE1PFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+MTU8XC9zdXA+LCB4PHN1cD4zMTxcL3N1cD4mbmJzcDs9IHg8c3VwPjMwPFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxcL3A+XHJcblxyXG48cD5UaGlzIGlzIG5vdCB0aGUgc2hvcnRlc3Qgc2VxdWVuY2Ugb2YgbXVsdGlwbGljYXRpb25zIHRvIGNvbXB1dGUgeDxzdXA+MzE8XC9zdXA+LiBUaGVyZSBhcmUgbWFueSB3YXlzIHdpdGggb25seSBzZXZlbiBtdWx0aXBsaWNhdGlvbnMuIFRoZSBmb2xsb3dpbmcgaXMgb25lIG9mIHRoZW06PFwvcD5cclxuXHJcbjxwPng8c3VwPjI8XC9zdXA+Jm5ic3A7PSB4ICZ0aW1lczsgeCwgeDxzdXA+NDxcL3N1cD4mbmJzcDs9IHg8c3VwPjI8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PHN1cD4yPFwvc3VwPiwgeDxzdXA+ODxcL3N1cD4mbmJzcDs9IHg8c3VwPjQ8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PHN1cD40PFwvc3VwPiwgeDxzdXA+MTA8XC9zdXA+Jm5ic3A7PSB4PHN1cD44PFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+MjxcL3N1cD4sIHg8c3VwPjIwPFwvc3VwPiZuYnNwOz0geDxzdXA+MTA8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PHN1cD4xMDxcL3N1cD4sIHg8c3VwPjMwPFwvc3VwPiZuYnNwOz0geDxzdXA+MjA8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PHN1cD4xMDxcL3N1cD4sIHg8c3VwPjMxPFwvc3VwPiZuYnNwOz0geDxzdXA+MzA8XC9zdXA+Jm5ic3A7JnRpbWVzOyB4PFwvcD5cclxuXHJcbjxwPlRoZXJlIGhvd2V2ZXIgaXMgbm8gd2F5IHRvIGNvbXB1dGUgeDxzdXA+MzE8XC9zdXA+IHdpdGggZmV3ZXIgbXVsdGlwbGljYXRpb25zLiBUaHVzIHRoaXMgaXMgb25lIG9mIHRoZSBtb3N0IGVmZmljaWVudCB3YXlzIHRvIGNvbXB1dGUgeDxzdXA+MzE8XC9zdXA+IG9ubHkgYnkgbXVsdGlwbGljYXRpb25zLjxcL3A+XHJcblxyXG48cD5JZiBkaXZpc2lvbiBpcyBhbHNvIGF2YWlsYWJsZSwgd2UgY2FuIGZpbmQgYSBzaG9ydGVyIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMuIEl0IGlzIHBvc3NpYmxlIHRvIGNvbXB1dGUgeDxzdXA+MzE8XC9zdXA+IHdpdGggc2l4IG9wZXJhdGlvbnMgKGZpdmUgbXVsdGlwbGljYXRpb25zIGFuZCBvbmUgZGl2aXNpb24pOjxcL3A+XHJcblxyXG48cD54PHN1cD4yPFwvc3VwPiZuYnNwOz0geCAmdGltZXM7IHgsIHg8c3VwPjQ8XC9zdXA+Jm5ic3A7PSB4PHN1cD4yPFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+MjxcL3N1cD4sIHg8c3VwPjg8XC9zdXA+Jm5ic3A7PSB4PHN1cD40PFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+NDxcL3N1cD4sIHg8c3VwPjE2PFwvc3VwPiZuYnNwOz0geDxzdXA+ODxcL3N1cD4mbmJzcDsmdGltZXM7IHg8c3VwPjg8XC9zdXA+LCB4PHN1cD4zMjxcL3N1cD4mbmJzcDs9IHg8c3VwPjE2PFwvc3VwPiZuYnNwOyZ0aW1lczsgeDxzdXA+MTY8XC9zdXA+LCB4PHN1cD4zMTxcL3N1cD4mbmJzcDs9IHg8c3VwPjMyJm5ic3A7PFwvc3VwPiZkaXZpZGU7IHg8XC9wPlxyXG5cclxuPHA+VGhpcyBpcyBvbmUgb2YgdGhlIG1vc3QgZWZmaWNpZW50IHdheXMgdG8gY29tcHV0ZSB4PHN1cD4zMTxcL3N1cD4gaWYgYSBkaXZpc2lvbiBpcyBhcyBmYXN0IGFzIGEgbXVsdGlwbGljYXRpb24uPFwvcD5cclxuXHJcbjxwPllvdXIgbWlzc2lvbiBpcyB0byB3cml0ZSBhIHByb2dyYW0gdG8gZmluZCB0aGUgbGVhc3QgbnVtYmVyIG9mIG9wZXJhdGlvbnMgdG8gY29tcHV0ZSB4PHN1cD5uPFwvc3VwPiBieSBtdWx0aXBsaWNhdGlvbiBhbmQgZGl2aXNpb24gc3RhcnRpbmcgd2l0aCB4IGZvciB0aGUgZ2l2ZW4gcG9zaXRpdmUgaW50ZWdlciBuLiBQcm9kdWN0cyBhbmQgcXVvdGllbnRzIGFwcGVhcmluZyBpbiB0aGUgc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucyBzaG91bGQgYmUgeCB0byBhIHBvc2l0aXZlIGludGVnZXImIzM5O3MgcG93ZXIuIEluIG90aGVyIHdvcmRzLCB4PHN1cD4tMzxcL3N1cD4sIGZvciBleGFtcGxlLCBzaG91bGQgbmV2ZXIgYXBwZWFyLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGlucHV0IGlzIGEgc2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgbGluZXMgZWFjaCBjb250YWluaW5nIGEgc2luZ2xlIGludGVnZXIgbi4gbiBpcyBwb3NpdGl2ZSBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwMDAuIFRoZSBlbmQgb2YgdGhlIGlucHV0IGlzIGluZGljYXRlZCBieSBhIHplcm8uPFwvcD5cclxuXHJcbjxwPiZuYnNwOzxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPllvdXIgcHJvZ3JhbSBzaG91bGQgcHJpbnQgdGhlIGxlYXN0IHRvdGFsIG51bWJlciBvZiBtdWx0aXBsaWNhdGlvbnMgYW5kIGRpdmlzaW9ucyByZXF1aXJlZCB0byBjb21wdXRlIHg8c3VwPm48XC9zdXA+IHN0YXJ0aW5nIHdpdGggeCBmb3IgdGhlIGludGVnZXIgbi4gVGhlIG51bWJlcnMgc2hvdWxkIGJlIHdyaXR0ZW4gZWFjaCBpbiBhIHNlcGFyYXRlIGxpbmUgd2l0aG91dCBhbnkgc3VwZXJmbHVvdXMgY2hhcmFjdGVycyBzdWNoIGFzIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=