1928: 最小表示法

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:4

题目描述

经过WC2008(Winter Camp)的洗礼,THtSC逐渐意识到“最小表示法”的重要性。她在解决“基于连通性的状态压缩动态规划”和“锅底与火焰间距可调的节能防风燃气锅架”等题上发挥着重要作用。

传说中的“最小表示法”其实很简单:

一群牛排成一列,牛们喜欢用一个数表示自己所在的团伙(Town Hall):

例如: 62 18 14 62 62 14 18 14 14 62

然后经过THtSC的程序,仅供参考:(这里假设牛们的编号为不超过10000的正整数)

program min_represent;

var

   ap          : array[1..10000]of longint;

   i, now      : longint;

begin

  assign( input, 'rep.in' ); reset( input );

  assign( output, 'rep.out' ); rewrite( output );

  fillchar( ap, sizeof(ap), 0 );  

i := 0;

  while not eoln do begin

    read( now );

    if ap[now] = 0 then begin

      inc( i );

      ap[now] := i;

    end;

    write( ap[now], ' ' );

  end;

  writeln;

  close( input ); close( output );

end.

就变成了:

1 2 3 1 1 3 2 3 3 1

现在请您求出:N只牛排成一列,最多可能有多少种不同的最小表示法?

输入

输入N(N<=500)

输出

最小表示法总数mod 62141

样例输入 复制

4

样例输出 复制

15

提示

样例说明

1111 1112 1121 1122 1123

1211 1212 1213 1221 1222

1223 1231 1232 1233 1234

【数据规模】

60%的数据,N<=20。