class ĠSolution Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdp Ġ= ĠArray ( 1 0 0 1 ) Ġ{ ĠLong Array ( 1 0 0 1 ) Ġ{ Ġ 0 L Ġ} Ġ} ĊĠĠĠ Ġprivate Ġval Ġmod Ġ= Ġ( 1 e 9 Ġ+ Ġ 7 ). to Long () ĊĊĠĠĠ Ġfun Ġk Inverse Pairs ( n : ĠInt , Ġk : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpos Ġ= Ġ( n Ġ* Ġ( n Ġ- Ġ 1 )). shr ( 1 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( k Ġ< Ġ 0 Ġ|| Ġk Ġ> Ġpos ) Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( k Ġ== Ġ 0 Ġ|| Ġk Ġ== Ġpos ) Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġif Ġ( dp [ n ][ k ] Ġ!= Ġ 0 L ) Ġreturn Ġdp [ n ][ k ]. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġans Ġ= Ġk Inverse Pairs ( n , Ġk Ġ- Ġ 1 ). to Long () Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġk Inverse Pairs ( n Ġ- Ġ 1 , Ġk ). to Long () Ġ- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġk Inverse Pairs ( n Ġ- Ġ 1 , Ġk Ġ- Ġn ). to Long () Ġ+ Ġmod ĊĠĠĠĠĠĠĠ Ġdp [ n ][ k ] Ġ= Ġans . rem ( mod ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdp [ n ][ k ]. toInt () ĊĠĠĠ Ġ} Ċ }