AtCoder Regular Contest 026

B - 完全数


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 256MB

問題文

高橋君は完全なものが大好きです。

自然数には、完全数というものがあります。 完全数というのは、自分以外の約数の総和が自分と等しくなる自然数のことです。 例えば 6 の場合 1 + 2 + 3 = 6となるので完全数です。 それに対して、自分以外の約数の総和が自分より小さくなる場合は不足数と言い、大きくなる場合は過剰数と言います。

高橋君には今気になっている自然数があります。高橋君のために、それが完全数なのか不足数なのか過剰数なのか判定してください。


入力

入力は以下の形式で標準入力から与えられる。

N
  • 1 行目に高橋君が気になっている自然数N (1 ≦ N ≦ 10^{10})が与えられる。

部分点

この問題には部分点が設定されている。

  • 1 ≦ N ≦ 10^5を満たすデータセットに正解した場合は 50 点が与えられる。
  • 1 ≦ N ≦ 10^{10}を満たすデータセットに正解した場合はさらに 50 点が与えられる。合計で100点となる。

出力

Nが完全数ならばPerfect、 不足数ならばDeficient、 過剰数ならばAbundant、を1行で出力せよ。


入力例1

6

出力例1

Perfect

1 + 2 + 3 = 6なので6は完全数です。


入力例2

24

出力例2

Abundant

1 + 2 + 3 + 4 + 6 + 8 + 12 > 24なので24は過剰数です。


入力例3

27

出力例3

Deficient

1 + 3 + 9 < 27なので27は不足数です。


入力例4

945

出力例4

Abundant

Submit提出する