AT_s8pc_2_d 2016
Description
[problemUrl]: https://atcoder.jp/contests/s8pc-2/tasks/s8pc_2_d
今年の $ 8 $ 月 $ 5 $ 日から, リオデジャネイロオリンピックが開催される。
夏季オリンピックは, $ 4 $ の倍数の年に開催されることになっている。
また, 今年の $ 5 $ 月 $ 26 $ 日に, 伊勢志摩サミットが開催される。
日本で開催されるサミットは, $ 2000,\ 2008,\ 2016,... $ 年と, 近年では $ 8 $の倍数となっている。
とにかく, 今年は「約数が多い」。なんと, $ 36 $ 個もの約数があるのだ。
これは, 世の中のだれもが思っていることであろう。なぜなら, このような「約数の多い年」は, めったに経験しないことであるからだ。
中学 $ 2 $ 年生の私でさえ, これを重く受け止めているのであるから。
そこで, 私は皆さんに次のような問題を出す。
「 $ 1 $ 以上 $ n $ 以下の整数の中で, 最も約数が多い数と, その約数の個数を求めなさい。」
未来の人々のためにも, この問題を解いてあげましょう。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ Q $ $ n_1 $ $ : $ $ n_Q $
- $ 1 $ 行目には、クエリの数 $ Q $ が与えられる。
- $ 2 $行目から$ Q $行にわたって、整数 $ n $が与えられる。
- $ n_i $とは、$ i $回目のクエリにおける$ n $を表す。
Output Format
出力は以下の形式で標準出力に従うこと。
- $ n $以下の整数の中で最大の約数の個数と、その約数の個数を持つ数のなかで最小の整数を空白区切りで出力すること。
- 例えば$ n=96 $のとき、約数が$ 12 $個の数字は$ 60,72,84,90,96 $の$ 5 $つありますが、その中で最小の$ 60 $を最小の整数として出力します。
- この場合、この行は$ "12 $ $ 60" $という出力となります。
- 各クエリごとに出力するため、出力は$ Q $行からなる。
Explanation/Hint
### 制約
- $ 1≦n≦{10}^{17} $
- $ 1≦Q≦1,000 $
### 小課題
小課題 $ 1 $ \[ $ 8 $ 点 \]
- $ 1≦n≦10,000 $を満たす。
- $ Q≦100 $を満たす。
小課題 $ 2 $ \[ $ 34 $ 点 \]
- $ 1≦n≦1,000,000,000 $を満たす。
- $ Q≦100 $を満たす。
小課題 $ 3 $ \[ $ 58 $ 点 \]
- 追加の制約はない。
### Sample Explanation 1
$ 48 $の約数は{$ 1,2,3,4,6,8,12,16,24,48 $}の$ 10 $個である。
### Sample Explanation 2
問題文中の例と同じである。
### Sample Explanation 3
$ 840 $は$ 1 $から$ 8 $まですべて割り切れる最小の数である。 また、出力はクエリごとに改行することに注意せよ。
### Sample Explanation 4
$ 2016 $はとても約数が多いが、$ 1680 $の約数の個数にはかなわない。 また、今日は$ 2016 $年$ 4 $月$ 23 $日である。ちなみに、$ 423 $の約数の個数は$ 6 $個である。