整数 a1,a2,…,a5758 は 1≤a1<a2<⋯<a5758≤30012 をみたしています.このとき,U={a1,a2,…,a5758} とし,U の部分集合 S に対し,整数 f(S) を以下のように定めます.
- 各 i=1,2,…,5758 に対し,Si で S の要素のうち ai 以下のもの全体のなす集合を表すとき,f(S)=i=1∑5758(∣Si∣−2maxSi)
とする.ただし,集合 X に対し,X の要素数を ∣X∣,X の要素のうち最大のものを maxX で表す.また,ここでは max∅=0 とする.
f(S)<f(U) となる集合 S⊂U が存在するような整数の組 (a1,a2,…,a5758) としてあり得るものは M 通りあります.M を素数 3001 で割った余りを求めてください.