next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: columnPermute

columnPermute -- permute some columns

Synopsis

Description

i1 : m = mutableMatrix map(ZZ^5,ZZ^6, (i,j) -> 100*i+j)

o1 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | 1 156328039717180245396160513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183681188823041 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183681188823041 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183681188823041 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183681188823041 |
     | 2 959229777693701784869835692907527285893662816575021420366204908573196412929579213937636731471570548952948927827346036065591508059361990316537126443108516968372476613073506458097951175144453498995539013443237807123754290337674392248806883656289018226133173469272080386                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183732728430594 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183732728430594 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183732728430594 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183732728430594 |
     | 3 335158224734792618185581698926049005762126006596851300881652436273184742435046501882655167948004728083185153439708804391489196458551935245862079896937238420159227391289605539673973396031002013596869327706621584266986922859879302937087668725246525374361924391834729498398790829301055328156611233431715364300513384167422604270183220574581153381322076574612453709104615563261767615682471004251618574207478254167908643990713512832795839174919306187469065190138893720133722946438757595987726567268464992771782925787534790207154071566563412018889106050701108190600464871156446759937124196635620669357983120324121538784033992401026392383638122399213731805951952200184350772790840548977391441724170159379459730037213833554606632212751164632107486350186760438468891724982661433553554444258329262475131353835485035971007052697103558637518453600891545087474474963618917774511329542702177855335954026998878579180067131934789641558714359814868570711892152847168731304125673068322543618302679033306831963260222533683583888990117584341737567696524230854055369637029296311919160574334709528777244258519843637965290340828441316172173960224180228433486263236664534572343209895838307499386523053871535462448628491682034306974700323543685699730479697555230933521439194605299764823134102339320969209444571340032117898174366305872346978522991400764470618533821363305182236537957039263576245570817655561156937599599117437910728048343704826641462191854258621171657217924344065767646434199072738888206611464635780345868535778582174289663235559804877287733198241981801986273443738568303441642163432777623365731622175664691262360628688496401603435344128246563156407461606423605351376740356268624632554210439238727279387501098950539338828196689755729480386395470341571167634066372949910321526788883597341588589589990927946585189174586187151641837272639470943855652886907751088631242123149450866815291566575826073613867274750225296904975305632431842831109798360582914847425350846253873451578208834568318098143033546510078285915455939982290180807291339557180657732235750373185914139474575102899486618734742357444818264837482751251688924617145798849734136841155808035092667351606584241613503650806373899105200857569449678050682475777553588651909996867506612482705424544054382440255099003755706405478637021637078808782562013484972411933952935970928231058342399556501790424665517049854160974470637714289082744189540205298729172078986508033670217065504979756343540164115102971940838961231475836090090526154913714870743667399236292840616617535871948582806353773514144513368889909080327225474378025813479635191432665752403971                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183784268038147 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183784268038147 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183784268038147 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183784268038147 |
     | 4 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183835807645700 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183835807645700 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183835807645700 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183835807645700 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011341120428731297528776011318289502227808403232951697194502352849747824720867014132743984635043581480561341282339944813816672811749494889270886551895134909803273887704182666297927223794713739598869294326896106244058846540985104033981371553875376367962938882142544871654709800451650651566804798898258104153399618865729468844595121110432026355627454218175455964648759160741459548688706266088928396579589423574882341518195936268860266543818701326969866109641038930130485171863398437216837026604029309087749969807164915876428578666714972426779767360596304147830189577997341097379608485092392289749795590889342931649659523625814168558743924043949301148548106535293953718332531606586447582119575427186778747888816129775736509114564423691903651506445920919423546725404580451398991410571438221450899622987985108154001597306876244193849192590783090178181030370432504908316944726567887234903744070632806008036812324929091176803246686086119360024208245514973511282946443464604412196255702085628391319164246806707773926824071274635815442801445467243257729485734340565634519911651129691839859629042716477989007485031250322993076863347883313174172477215652481346317275727548612210168822001072424083443605670285717160833807592417873537451608865877745837731182916369588620096067042074107972609619568223813715284695027347177566596092009153303376502685820876500567637737460398504862099180496163234908084448378746357003434057135895106565141798245306185832063765391317606737446744883493178708641857041152760939477551185311926257387955630426308582177760518827022468583114760964766547990704215238935407895322011987600240563172567874818195096278826045535231680535200781147709451506863499433568722542754701634326589208053900006565320442302921810101542432376554537756618980201317803176005051752990343195694368513758592070317837058643598082631127983299029293437225258180182188249361540433160503536342416981268351622453273473074859181691084862185741719395254350046422190766577882692561431173475457128097531516744765927638093803186398246182867295826985621390646068343384274062487294522114459927373823197202507180974579663306650692723175097865662708720161846373879923422883623014843585190593154063956976479468363761420666579929043731005622026757862716639505645548549076826036453849333961687787111439700192732178319445594673952348303410920712200093863795907933706373059066301993011874930770800980842462611890266672242283825904796206338344494491612731309025646008583713917590635649270862252067515241137856058027681759904754961972070238849467219563688982646284968672577155861810732293012788260274608933347541865995364678324764971876786104386741345570512463441308710779244576650428206678355670070194238515776839191103574175437723182381556149451365212406630093437800676945704144262677052927980596277250288260539517295680825792852911279831230606186073449578070909821583825133356009780839724103671909263417771991972301559310287953389254603713858407709344548677697488449963134648114649895865365633422871330448133055385029926363774022393651104535272843413110700146650271448998977549906614956145040915241956162304519872456646728096426054267579957562921445479054192589445602996684113273796758763167171819919101698132432810653841969926883324998923940601014492120382366270596406588960985227017102251444333493468841630473552223717924686196999233914407913387205791472331544565699938621766206528191120756388618985229309639295244981755030333360059444902328186991833689056646807058838319637663397082281818137721945874161516693535382344481410148456328852339103970938806772985470421080928805318768083649245182950207127277222867274180628177476297840292548284686342239530989297249004903805576689384718421988608463534250033109741034793997248446906381684491629260146483748933294083127422227733712486302452980126120479187764729861692409433681216083228624529433435451718538830444123699001594657050231545390740911843247190867456199941533465291937667495882354390283546324209840480086240144517382419510948361670449734709620995483464480456985747630166037928940272214331976374977221439010461621110874230257939770579338838039591859923905126415127891374651445446209959490713376054801013842063942839368980591751936037029575636833865227732752026718095525454415956363143161141927090492158200028505094064423513254044999361889503312456953576164611599208441169356102948218000691091839244480665093657101250101869470242240164196997533956808837492343939454849966879290110031170408028213361822146592363996168657481004806322572143209809743087777853253296302309194349363690902738306845867361240099914722506629099759540339793374135042017715951551659208697812934123246488068073968306418505264976850902631734210487803798709097225329822305401996811903745287105458190198397651768259767928190749194865551835312434646537320897577420053917529152412078673989586682465548689198486758110879710618003618282666108139742976633238493937255472217875622785856150402811627354300449122388801489153995022757968681823567486097215340021498019231938055596087902088146853994717031741708441838047273586025489794493082715358057375202262052036732691724111444399534380080398408804024613688957060455181469326893711578358631146835166657329398402991700132375832376237069913183082309044478544010433293806380558887859801032904535234455001801970117563039114227893164689011357983997825524469166317208511866540031166045953855622041457807067343045130809038400363559971290738532450183835807645700 |

o1 : MutableMatrix
i2 : columnPermute(m,1,{2,0,1})

o2 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | 1 156328039717180245396160513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022341957484545 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022341957484545 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022341957484545 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022341957484545 |
     | 2 959229777693701784869835692907527285893662816575021420366204908573196412929579213937636731471393450124511882118071743767642658194909997587495977102240145424206739399085463881262648611217385221073498792225212809424991932691875181268164638082658346840167487189886697474                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022393497092098 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022393497092098 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022393497092098 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022393497092098 |
     | 3 335158224616351276001991738745885563403718231445087271921908631538914077396231028745006051142106014706074413287479922787529903509102656141308822801972182624396653802592542984744634911637565362250515400586990736704774826210783576511199288214737293575347997986180067971603935123892176797144850499429174758470407827511132153759133246046769838548152163981359853637650957629320873553001520486702658485057792202683815764497929885479327444278009794054017161413455370778477806503079671735980096590565491944513233428029333107997211412872679150216539459376021175629298375786402643927589851517275077454698650786459790817174984078943000532300138358895667350760869435755539158040169899554481039757701788533905508222965029953996454861972635435242636013027286327381373235874363728691342459222742779624427333985617469637206155886204589071417287744110165311304269398975092910819562326118314103407395767875739407651235919956477376779500516075635784917362998837471597839967796170002386522905629143141456480772523207607860368279130200203536617821339180620099611549928912239843762192991098836502471427199840987227555090464073530107616846209622620377024496127850259775131349613556793345020070324883872318498478464119068678913047496081498754739958623883593504136105599982121379441628346915428803926460429768588363238037260133721282735691732304341198736719255491859324251315659365971600934943695487379460989186472011383010358383835599847197733630138697578552757824938828758187481335463463078244136696356976976043348349388545753268095494093511309273981051071434558459112454626187299564067794020844611490370501281354762331344235451855843099622848641144270014621484591042203022967771719375314237973325432265096931874090707119547165131012868192376290016100680097315015693613222531936036304843036458492044165674203542822594907680666908608014608622816988269599053023732204219786190191080315639661615640194662559092824652244304932766841759224004977880505416363117792250974003777084340046055133706424857832604716837537550733097341079038207183645611954158308283408274726652205067607514291952703771674025019365954525376773093885406308516238142319780615364792843527287160490781606266062508969276364912533456107021806443654368260333161008476078069843616961116907512557727360155064257423168271070334926926395026182564004186719756308880381900315477832567472139540601741787523589382699397555785544363804665720144390262815599273690621048629446599396032245450800311717454248487189591054250363390548145386507469597821451848656505869281922985228059958589486430106904969991993445680582025637767379268821659463393906371906939819917315                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022445036699651 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022445036699651 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022445036699651 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022445036699651 |
     | 4 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022496576307204 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022496576307204 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022496576307204 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022496576307204 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479381122277026405530997644089068897259674816759058327927753615413542240518282187887163656621692199624456563713140212242877667118214477950250352919292055133487220314276432207956955233749177527740372682695560074007915766929357112885861653204903946676486290412736437654758542228023520253356830191647838618285493958916273379758855110161740127999450567158781094496715159942583547050741099778605869102702098611304139681306944300394673446613976291519213205807595399371594736041171387585413337000224100321656723306592737955204726323538047786174014993680928537398417199786201575811319017987582543925702401651561021656444818095554163432303683834603452592571025937069231532154095407361930034917881380180356940567867105848889960414316188836726216915071419515198331898394803712107141087339862840418428228923033821522063809517807620525966549648734621378781631564556721887474887354990463814660936338392685781581472490491573353631486000016436506591406060133831300822331007970410342580102167069822071961734485341755938970283442351010000098149953890252090626450584386877039696765138716819384763866524171659380681476036384360159260218242246094104777377168232058315423665933435325275931101293189346430565250444874065541562411123973521645431975716243650672065722584340108430364755614185239100221213645596967182022129944309269109969899442277944705862388298335615290296800328928597154931931539090655330103936192995821865241743018732914858469081192913444848348318295008021333482487737891754408448219163072627963368588190610267844143102696369764738310231709897788691047182964391849149422437678421801094054933128869465840149947937019543381661390037563506125600386954368378791771016260098261562602792621787241867730380235903929073928747067588427438123072485408939495839675274863705016610930199898041368279928629620158812964223820057379724492789205241513101304005555807547129616659907631706678962084437117848958833858212837150322400245481176471555494040367789827844245093817443814198311765745301217194064572212507521192129550604964335557344105646697983976735655400013197983939250000607692225097814212684394697230191759978410697030210502408404451303716748007062302385120764096133480188541387204115525357091053255807949506048655614026913221143183755908070648456179741388788034713133168557920884952132536010530144584749002963429238876941015183125410925247364038801502994201843604338562533230612623322993993346240363087634116243333140632408380986970919676479173909752842257453623422106574346784903973594401726453507861421543594562899864401608932396600966901036153800223910071834672887029773874102266125924777132926691802035070256194269308480319022441090258072890290371122714829603520733789811182721256613602565426476742370373627191099114851344634796137927409812425359301434186498603076569265569661806011060866919914942225961131522916509586311325011869279029907422267356072394457179636938243946397639755033875460369426280863577595655569054387882443056192645084211855072259174027910559087415362948513528354428557514093764393913262970747687488747954229659304154213958528311040727357249110251589692327983895398255431017542658005448060358991362289261197746822747617315777209471183354583691648002024418370920561550872301620025425521424267999828678630104079907247738171791983194402796744195197445598309189388672196056499242357014785740407309528058744933141715088593111175183501367812869944078610942022901960087004841073189229442983356757854449893186697856982734758801024074612318584798862555380852432278816266641476376347393106524013438034330616753240748296489335654629082081267773125705749325497454799789544903785387829128041758384828453579481982791547462373093370882583295099002631947184211610744708465391414604544241411609319025781685782481019913298500352184675141620642149937504159416574142847494874438400608821379496074955575359042681379563064062122443648650357522280142724341253155198518739998026126344009687971332359848461178990408200856404122852369609220327715159857118518586136700761506462547083763863365702287682958241098418100329804117198302617816344700191616824825422639621378946835690987134004265662292952239527117368487421636325702356560227223870940300293703624186403897053904660927056436969587699686692803971825048946947386083073604305353398418074212837820080956114368842694372460061530147639567205460798704556810910680900936070643902936225921072841888832750994895405115792970063112493183605540940863036728778723743221072496242464663056575039534991440498942790348421108568792668633287123269478057357985130096102191867631776083036083109926627210237806982228173914428663455335726773377362326030752171876247276843233864926159032188521079183342105469277656248174359338489502548795098813332636227704224154079993019582541543989790411006457861308304158744226009270646757943863452839410175968272567003905398058564633713645878645434153280717930906224589872338709309993084073584361978071372087238885987005536205518043352163308694297797053992794843498228247080156276780956427887332698735073399686047897664250667484415804000792736022296155003925559470646837704053355608918216879466500934603189510453053636446418460979294264591139737167717795112647067736820452122055632047662410872922971919319806322566424465345803585625532364450665715149583089910747311537350495029479363012588400986470519627020016437261185571849248738594877126501281118749250931070828082894213670621639660133823328060957325682306360147636710010265023880687213478800680779354558212151538484038668586373719776007929811345925336704198182600827941673077393587241277303453761334916292594359029919291970700383869649939064613635027508852812829613450116407817671180804213234879707388642501174647576107717496633653761184745417924880897488075441650947428590790806969045475046039351228510891555268745456894806616429835662867623640347935715688375849062135284596480402419721287711805420391214510110566393722231205291615301722697297495885706722106332867327862719300774345638432202508054484710125205584520169972061652930708146595373066754932697482025557184922075128772178879095909659096363952365440389366798889852224967001763504466187028415369130726397190801909721544131929095714683002463660303191982626549004965548430743599221534664907476225396081472619001429979650265142726998040605287895093123603192769760497957067968754124223568610987731023235223392218102813101828489117002101041370726254709768042508980349119859680094829864655707926139604613656003707045488727966920919861266466525848219525481657436776966028606595144497955801773647552585041117229556363182463326076349112921893665319630546997706830303702253655389875383623893158095775670212794554770485382408906418677123723755493238958304458457451322720200187035708452146568719774213234172112002325722052339298321585595887683505228713727802156026978828343101445097609183011536935565849209074589935136086650334647192891103277437610260006367563540725338078655433443252983348121356536746839177098065414093855626843569294379444412928814052785194908488937855067145331159712208406979044771593148243410085711508361438397182396604456016582300130198708214958166269702084803470989659220365695645753756414223219684180889029576333482853459184322286362810208359390835180240026445946510411863936780656650343088007082596871619090316806496659975623042497513010808009829438780268538505419998588806698115257518846744032413985104593696316192780749362607415507271185875112837132925245924215477868624574450124309912402820884790680423149442579622519218881620622814447856462877652910438541182503505045791567936316292540256331399369609058376264666424932152413662047663941551637816576116831743899847093663284033238891086062779125514559557839438099886016469634550501073623827274262291179137188040637555539608193097490634204634702306838449403638623154241249072391703517315396140812943565751903564888729634698726197923474640927448553777099142041853432376739230050583595842753685382650754486033862779659910802736381910459740242686139652424752819163422337576771497264038390151382745272045000789337632157972004857322497855560357388315808187891513737047398166479840018890903202789728084097815544911511035730189462847708066649753120743344749689987085770539102309282430687165131385068996737126486298890603086739244318001144741838122345660575568994786155531330351677940802389359030107560915820476181471934455764726710761450500834016797871992048346960958503503468715295851604676520710563154988886395258005975505524112489686945895635233595459035376790579169812204138513881718483344638374324299510893989485277250509848251559810693199946118116402539849571992662921738764900264876195265218722633623322921188509179675850419548348452725430712068435023392108344984663864107240794330947962728626511850763187083142361092732783769220038106877676433520202140146926442626804096052971736424788904092905752655590699508743023923706296317589200600436624064716579551363147893257677528793572043485522825257333339143655488177377847156426103642713565244080103655266319620976675499981696727543149124046045806263796104528088295997695369598909936473582552828784983167530580533799666562841260501441089456129059009537456115297425988543483409425875410038418479155719619854281442830945698241045020537989417413363203906921323256321802076371511200115084411715986135461354109476015719482782770141648093067715913419392830725919004889352239997556618305421002562990271736307172169917030311394125567371297423642890338820692156357485252144798529754188818445651856582938196347606319685967082715338679422539762710170246396736222448244616409754891658706530229983975613641827471659210668558354497183293189928304734706695228090128370664134379091575811859058559396028860208058742991862727201487364774036595247639420069464022745937531051395110239547603573797476866361030756563536816723786733693857059411288909045468953458956713890444489805320815757954539793628625288123536655492757535351095007782819108235767905693501386220412650670052206260538525199436904298430274409004957801719712459185351482910897343931689269093020184546983209427933763138601325071405154264921169400714454672752401501312039495050423602637805749900973992043387758645361276554208550696184950307306926176435588386855483025304112478174066378199291201694315233423813305989503597931285427717147580702718292814314055619607365767555419137106046322168990591195607358111216193317953245885145571904788449894977893834887809469474686189095782712776986147568876803219100582067569934050491433676887107952593282693856572393269664966098073672523851556267007765132533725275347350045005780791419884447343341586390783502458792333458750278863872410793336357481399067490421789898324490545589330690430688691560329048966079561580750314935418452538534924793504436271001747197917476184536369129254934347669025659700595434040104161293503924793485981892188094575840170597923402023130144858276707614890785150397975838602506092267528145022993840984061298648726350338734860732770252239243209005186287264994385990902971808764062822428390513305263551161847769210067076086777321185657026229348701714001144344488581709435388165115137217924156922050409361017759846492611859802457985278015863378959703531243200592518744289579327648340615911061055460332171647074713036539578047883722010968524401087560962286138602737268920213930564324566566092517022382650845857868798201226881230290428848100580724133927851539036874886509100495461326725370059567590916846460695848696655994503892310660684789124691519011431810192985749094082183337217450821952520302494786370237421675091908762934635553993017619358964414184727264847731718359674625604684131930453343807070606313467703063358818879886786957149614409480159777001029085021527133009203913637538157930540604412190866477744960612108238587682552007140498599692605946316435651631120557647925094080563424182090046326097009510880306949203568974161460860664333265659542484962190033098765515610468548216513945492904545849950447594555532479557144817076285802277205476523988527077563288888038383932884101008670067151336781243801677518933227946661143809094609059834715314218619982627267372743231757936209391346365841498496651008632619639593631182830414429073572895809469906069389941787668148397759487446367016703576649831209973068576443026045945140599387022496576307204 |

o2 : MutableMatrix

See also

Ways to use columnPermute :