캥거루 i의 몸이 캥거루 j의 주머니보다 작으면 i가 j의 주머니에 들어갈 수 있을 때, N마리 캥거루가 만들 수 있는 최종 중첩 상태의 가짓수를 1e9+7로 나눈 나머지를 구한다.
어려움8동적 계획법정렬조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MBK 理事長はカンガルーに興味を持ち,カンガルーの行動を観察することにした.K 理事長は N 匹のカン ガルーを観察している.カンガルーにはポケットが一つずつ付いている.カンガルーには 1, 2, ··· , N の番 号が付けられている.カンガルー i の本体のサイズは Ai であり,カンガルー i のポケットのサイズは Bi で ある.ポケットのサイズはそのカンガルーの本体のサイズより小さい (Ai > Bi).
最初にどのカンガルーのポケットの中にも他のカンガルーは入っていない.カンガルーは以下の操作を 操作ができなくなるまで 繰り返す.
Ai < Bj を満たすカンガルー i とカンガルー j の組であって,カンガルー i が他のカンガルーのポケット の中ではなく,カンガルー j のポケットの中に他のカンガルーがいないようなものが存在するとき,カン ガルー i はカンガルー j のポケットの中に入る.このとき,カンガルー i のポケットの中に他のカンガルー がいても,カンガルー j が他のカンガルーのポケットの中にいても構わない.そのような (i, j) の組が複数 存在するとき,どの組が選ばれるか分からない.カンガルー i の中に他のカンガルーが入っている場合,中 のカンガルーはカンガルー i と一緒に移動する.
与えられたカンガルーの本体とポケットのサイズに対して,最後の状態が何通りあるかを 1 000 000 007 (= 109 + 7) で割った余りを求めたい.
カンガルーの本体とポケットのサイズが与えられたとき,最後の状態が何通りあるかを 1 000 000 007 (= 109 + 7) で割った余りを求めるプログラムを作成せよ.
標準入力から以下の入力を読み込め.
標準出力に,最後の状態が何通りあるかを 1 000 000 007 (= 109 + 7) で割った余りを表す整数を 1 行に出 力せよ.