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

rowPermute -- permute some rows

Synopsis

Description

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

o1 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | 1 157536965537041165175488513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559633771364353 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559633771364353 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559633771364353 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559633771364353 |
     | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488603263658186286106331211505724914246488999403803298936725122086453973057459481155349904774916959904811024951226002706286187665157753476259869414983756783634690539119796289538                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559685310971906 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559685310971906 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559685310971906 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559685310971906 |
     | 3 131311016695637178589864353069922315429481650400293884211847608398141219497782260392835435685373515432599933404647369378562972565911002309838562955304854123854964314579880560257841489490495323075541888091982184978079827213304883412457032777362258529786179474041636190039446190466481447259955125751089642005835859231951984026722959227794095958994892305061363715078249917545428865730182847518794557470876680671665088813502747807430078316762969186418818411995028624318579764395364882229529539577676024962988651537729897335657789595968517303195162319995356812234505559744014293587434387143727615181164903939015384089854852740878384045462665075190763191638793087270566643725924275162314311023941895536840645733596922895533201589678415585132355568364859070070494481397252790724890527363872528424199321622110248041237606503704533681659557327813366885712642985359130841294138979330591809195497310856443620655095258068390759957730092428312881062173632166196595609163029031552778116605226867166363256913521219150500372788026060128539303763121823125510712850040923247479825975366361720616355269177076761498912405320701717976228631892617042234578632674270602234789050343742604262171963713030148350862067431130222174554852355808047386391646956793670682438168806578300772693732823501116151882881728734812898967669217411536287684705034540264891317544344295888516155489367384099429575112907063001342339150861668065812251673456174344600780533082035583123271125680906910700156644354806053733143350147791859516071118349947637808106494635660933398013693748367782687300239333054523906962351312760579192595118914480408555948689325829992719112655160475570785211189668951957413783938727873142752980686217431282284963619141546384538855379919331703384865700540648567683179746671845547253616875694970142135246534581300678176269285702286821882703691597547936399143954021871016682098595111379282266246564286592545213523996718821615525817660168619196406829344583092620537595630739486158029815900589516140705158623700231123268811911020099305598259742013459275627200730865619825915775311600410818193125733370572816435836305009301396203056793004320036500241558858953010822947542720247433783595813094196115689579258920055824934789505190823344623307473928893276754614355185540484170451076878914635541074976148610994426075112500534971857861607863389584786062352116996718413482115164915229196447994729301805879723315051314806025818984008394248124400909593690273451071810455533126397288759456058687289000931333821416929672573265453933636774009957767628316131276312404814459828098842315906164252631327776035029425919962507997347843                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559736850579459 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559736850579459 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559736850579459 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559736850579459 |
     | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559788390187012 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559788390187012 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559788390187012 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559788390187012 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375170815573055128136175709686200825178614341716383918053046101847354179719123588746232990342610679145253348073999757826453897260158410120796818923926951281934632644236678392650515323012699892519135974467967543264238642211246828120956501703462658548197973813030289864236641076675874394068644008668964591847433967121559065583849505133207989141239334218447641801851925247725079356060114242502425048549441901476116865634894316572107060589780861524821937078812802956466293529184954672864494577851297101612267833393726290117801721503490126323915549654058860832358388621266425402415890215614654440419525791252162583683016843047409959400174275114707374671186548157897181218782945000268783499418139017572969544760781858697443146714654952039775328445234379662947751647324238257325553587139833638713340720173939132864548551552645398574587428768588067849172291120912066938517006351008580833855437906056058196878183936269219487653203269475409405740798843980817490447253761444530959918517900123074001798014788335109605402406126324483747894510833129665892064466769913235856625697749307309362607517081482263843801513884315750523248066254321950729056431657656046432326033514677999645082170757507455083627132073130271269323506924972835777632545899741550751008955362991478251926781279690082422001938546598168979918286990827830353843955849976453062737181264574870421381938982262235352705364990978666113982256510283129733235519677338702420909950074922864930002925425881583199857764950698128236249774199272191178989856799064378510008869921011355219715821239039855957271312239081151657625246764847565496317209477508431949244100621151295639730111403386055137276773617567868701436426549193159140405237941501412329042018103270015596790575461145774506920925178734760372437622421026911374904509259731717041871536809786613512280744598931995573327625146683722270465354563142467614451411021682938740079507819929307024752654804298078252506640624085329738931552363683842919148290209090603521624723035708076598913287530304745433372113229897089649391022104504877631428789218806820669007622998303838887186715945224078609494150510444982776320572748818418040773712283822038088812819165535139276454551434629088465399084981813147354303442796851558299165780581951327876275602919819352955215324215342289104820584515735273229382316581614982597044039194123305658954645114859826435925906526744181706747672332318685478279638613671356283954181926990736839374258035259675684849744253213705338609763609288925854783289175708635162190495768178893040061826636437597217336617732329015760105444085986062808073146413948987790522248073349096988408837181141860126551026809560708428108239426559430925973037683162475986150833330107315433929383083037894579747948593535045095315660357233739848549860422252037119507506077386262327912467611422447977822075936025505518538426063136504361537998379773580626395682082883558283518394390524752931561318108916432755747559050829421326235242094919383793849824823900574002599551069861921391319240206236346411770442754458085347722869463259350459418888550846236689770834680449163559624783056732336377276991329815033921358571485806750569537436491357205850145408014975860834106610570624121726389524711630869228996155179553613028704318976227739646398719677916225276952403303713052126593879372826003214357142771682956326002355902732169786674895150995316281628020638393325117845354498139394328016951100293003285801395987075559094463506731394094331416551253402442516596329790377926608926072250165998169757222548201491620834826813239797416620107395406952571043982346101488285387554319245274194017520651010408709461362915360706660644729991603387710852765092517282395267118823190770897311110842066789251025365813392826268344065434198082544280335993139309921116205896043871863964568503489624086423147883773819768896624628641316184246259118074528602657231877894091499277741514614501459121321246239805934859744254514782181691949476819370572916313791607884578449212141052875050921214279564996469294105725703419521772063418933202051465886373020726063234211520209521469445083612283681264479676943914312003495255753648075806761490603282948652206382498074395201483224400483758109070511211072140413838556689411814561615129397994314555346390818801969900017694082152686492110594184114687494156445172828465526372742971856005754397248987309517922583419666381075602319487156612199462988307100201197049290246942097873566847669674537708894858511233170296553058875939423803946896769014144410856556693560649989033802740939694448689428454581673181437244361527615412035972918769536905736208635035688766629226617903186334446401023938204883893024507015021196965507827555333278730522819329362159693570674298623205025656240014171682302312860500178657285814285253071363541451835554435846281579720122929447788507397332521740714743006433158344232677308031594353827505197496125217211870287145024682865524197288696445299332159938293366961985138413883127653982242754800556905179535641286359328263874951741347844744334290543113914047693867592800485801110548061961974390695088086930077899491618462076002055342763645195292434681843173376942702882983949770654499469515115174326234576303380017010889559788390187012 |

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

o2 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | 1 157536965537041165175488513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333231804612609 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333231804612609 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333231804612609 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333231804612609 |
     | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488426981812972642704247754627008295608799938116204778111834746961889185854896468835660070979177779321147453729798199961895843104056311059290169462870160222964836833678728364034                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333283344220162 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333283344220162 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333283344220162 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333283344220162 |
     | 3 131311016695637178589864353069922315430024104793208073022250811406159683803581353922624215781646858978923115046895507741814158944476504502680599256499731636498824796802865775257390806058151818589459874125871613431022972011974668981779383395064145886752193248287716803988761235964995702888708486701188393543719235703269702235041757221545692653543293261140865697216291782100426445600665118725191669219795680262464941670557405696264474384712388377371178552761885266656713680578810296294098245738141994058341628769117059209499911758343462387202587355034459448368940440482538923983661087303012998544856325568865423312520425009037249881662629678175737003303464752981430858998257901870542970314541219695025816448627528885628078099558905706410901246392636553138182133458551447202459707270766853812833975810963506360081217561692048234691141355784670057963994115323662996066491515390932825800369076830696798579522365980098214106043345055259941492621046894277192449337397720837521015424191013469628673567070245631067453661738820247035517720158054911203873102972809467114119804384925629204184308650809193527390477489029698832669275782395088204897395000556517782784968465342390469949640471920130452437501088066743186075940262321612392373977536354327505817519732838161527585123672506786267611262917665487185343024303257049562968434585850740871154610984174631890706217193392664867128721272996140467522991511590212308811027182628819945460329154871939052643109170641160431056860231568959658914377280676204712751784930640699889286740569751049427376782499559769751624776827539512856977733540822929708707995194670965092243750189759803317819426182044546697450024180421702794517104577900904532826241742353810109785949331838698292015021732448396974488699305151402520236113357519422660758977045209648081364489065399928771906703613469511894107844387025487189904071395389388439571113043750300970996794199295319492481160458444420086154112918936403592509847854605828200347509723630941243145858049766510298128370409884280587457270778745580924092464281701231698403038209701686090424040101537748435267373056133464802619444094757997377517751265305327409155844562653627396739905966936469924787280449521053355912969696557805440027340225982305681630384103327293622328958379695446285861708239180829302020773935754587774141443688919571950608344724082507527710332083744739159097532508334514071270668440481511336392042314853008248798982699757087833929628745188838754612097409181841814061063923121009014712520008510390373220757439270191971361318119681072700556276338122831605905359322717907162029005964100124831315268968099633692675                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333334883827715 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333334883827715 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333334883827715 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333334883827715 |
     | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333386423435268 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333386423435268 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333386423435268 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333386423435268 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993161403722573163457151828160145933706502387793688869704060238327453406584224129788634566266975323047245000753314825126856786384801468958688455805525729289422490594098024519800025282742770920594171968835651920503929282349853842128585495320902727695883233605301470843687721030245088442138552140370014102356178457473476696908525570037162846640407251190054368069344844840657753382989406478709446046409547867483316262304217954539458549371263717881429438487727436204405517402005054532354364473716031530733403407703922725167396307375631646169200905301991644773113688226450725049676257039617003479863731443778381125881740966527947915993667462019354810899967387637604022018414724919799589956212452690261773208468090462035661008002786942842751635374411761987933834011156283891195980285833109931802552988600762929810194681615583952121578507090123511877712005617851221651897600678844738415538972067037210851361030999317370486199867031301316901704141373972608428543633547116768127005208587423046209075209850593278615154849759968212742308813628281468059912366023557887225065792984730789998379467670127133409712604911090981199622962684430500041901353264251725433221708282732678381353175756126776970859094928447557787032375512950223814834602814346312699893483482003803527115689575172082898621953655816518990164764546251284734682817613597727389389300909217147836552303057025878276313816189084437132057641554193679824653634008159797526587149939652157499427657404308891816111711479139608608964709364539645557039966911448460538294931300998889160600885053209355274645655541279129018897019748362085093348291127541497563112150843856598143013326116450581394194534594479527826899229447132548135360839264700931835936060673388435553741820579877281091424526829892596391257114465247174405551973103322906772252157309670445969695243882777471467906311857708057970200242217312725235300995110417053187074745767549391126928812961457440037332167445129420942587827659714396642805766849294661879424123938742836411034940675332075173959184562487251292720572311472006563445963773598381101906902407049907931162292704757280860475174961428617326691254028456675627127538819997254830473570052707556173760121046181743551369591061420783942184380294439454811040250934921133606260536141440164081995238433781930510569120921955937804327527369532371876936205415690952794327790190509603422562544073875343584098677641474402250894053791764831724199533580509012100596096809772521722593199256056916642045535361878083627613274188391869135918174498692767110895790833004775941953364245456234426020288825012124547592777406406359151423846992412244197119856595230555201104052550598759613659498296347011374841855307057135458741636582903358881133970665734884119204908138819495748911129392341055201187897317454919868416052112095537376448877842603899563691135614863292136043079000114806213652839540887987206119065607236141291948543966235473848750899408047137954308055775720482506185714297021444591182947636326508463577011591980747427267670350109706808810941007220438695074247589494269385924505472979747460584776428373251882872172294400188396817058016151253367809351701760498343091842201896030447791652631851175464266927411417773173655163938113717204136098149662470445440337307973345925315363630915703463941560281276513408902206763746687009377445212772697793179604297095087696015624605340700238977015091585957412777656366387403669674825093397299692400806133502013086034475841765876068460859046415961661486583656825012723814767976298104166414877600681233609646749025747039537514567068930575893629265099906884297119816415162415692450265229699602506425963565035937855809944875806635533681341103505044867887238067024444781045598617209689069389428886334126519060346580709463260989663450898637404551743485170196504059323559535201249925358484603005990745914527040063398076131331781314440854525311536556291686636673362795125909404871885596055302987229888565696399648936350683929698209452920225603614154471132981749915890268458964431798520630334177354021042839842060549165253917903688724548709530209491134964032530503016463481584251342518838062353945414816680590605093508750676514587781419763804222299998868223259869023411681642177510664467703516655537037619610545994079894232962787447108027128873096632174070185160126281552705735238755839528332046286011735612980620243783406934581969130845849326391372809077236978765764959870493194755465692397772672465110950952778801487131465808440149398302804304526627090841819215200945289180034306202959151456323910480705434253725884993472826436699709462260488327329308524686350315610786615557299002268700362863051277259093199034248064271907369249243985703373960137052082558343844374161412187614735287119192742951698352275245079046100627168132127347479306308054131697377986295913348325926554321217355028535316921474877749156871436589095051695419275971656344629118333097719178532504757987970642110417087228437838134956220057115951119887940110236115952090727574092840009068047953002270200239109922986725742591838936980066698807863710766594070888759092990956838175424679370325980393275229381996071214492467975025795618863133502215299862957386065700221976236267289773113118671340174697795578008850545021795490025372890341298417585858455281845766241868954077960324477934845768126787211682435617279860263357372986144851929081062768563324747903435481467828581557268971594568408991373224942398930700631011076204497877035256343905890509777887807256826075000133083584948668200818992524694609844139490362809653434883428139400904665369317451252842181642787560008254371524431688760637433045582089905988235482070789841486884165654820614196271616421666321002798275998551407690523814892490446317458412251435189886255280363588966218527487730902407166047305417595078673432778724354118160531060124494862166486499964597605697546116711419962689243140086293437248668927211880941056911505650240788813530060820088612618394087573240999987816502449310812623691141070094117189714371120761937896854158530480576923625865392723469600435186626761125667396586239114358997331111702216739415641796664703889354093552481354382782282529228570342560674573740611167782602891171571037052976777835854343556179676945543209484682072070793500805869292851465980394984852477121938552560224225874849013891049780678691694799566885650299953465726364408782855578443464732520743362764077762358400559854793641447794283747221937610725536774154650660333647740727450937494906262730452724977048070769607135276381661273580159051868989721813177011472061832292675173893509223911737588106773425990123889998072883786585231339991655629128467386264003390559696711495011328204683683913144225856343029148377387082772100556847648050634173354042551235866056641535876712353270409262563064136994719455011263400139968325474085560223244416558251070666706347977375199799939656530188044193118879612599610467310869171802046106636854404458040112061382956606048119927442508441411117874941226213085399552833314136980170169468694565255137969210179725545179023838157582043459682266279111701232265017359370676897031182025165628095377332504025565298540482257825202253695044946633611235110873271395733790775941234597564016213317579563724767723098813045143354643359757377828643267288604392391653244719698665578246209669726107833645851122952469803864058915488772660966524407658605756114359520915832530487932288306037661548648143534673416787452574616800838821990545816573148428334118681445667214160629202432669777086328694813619103283990188210687997665466053123595248445628314658682491052990935965405424176766209453545713983181656399774686539212774091310066974956085239361361537213057897525147831024661452021793612211948273000205735689624625953166897013383034538424295947590294181041177774289691168417181574314674182382969405307268572727690849846525235477897276077082611207729763835379446122486592465401783925288663356102640421161165638863129660126639210965478966081454775595290446958147850998284578752161144433409891378936721206020195612816002745764070246939451829779862127749237493775919973923182310931351576335609643606680796062787641574471736575770906683489002864569526846132536572055604300560710595843372121283923198569925936222267816391854606214091821591797432294369054658573427488365751562137521867933448954760210905764827359269587337607171812521000031028999743586209800309098059812579027901420889373532913700256104680763884840160432337176407400340795814196388268363216706971748062853664681429933236391157835623163068024952317695245938375504036493166216998010192279404388760542917956717190440659784721314729338481782853692166785566856583231699788930355902418798319936171015771850695894598796473669665409796838883125499713303978198359703796518872452586269456263344748028929599604003973053079087001691937514000815791760783894407640374149396265110720275965532373076839584955132538195035921991357010289335649146919725272710446752632211847210419727724914886995026129306553832229365798271402510663403647751921339836928352410663235704391656132096721566084709299193823368977508917452377290745597735882896828786574450719741517531777284011944685092862128708786827693281063619752749804475026339474563692394291809427011108368564553875338529833941441922481501152125623848709900672781737542007704732310525945454454294052432650307491476787751334597356092404089447581545573266815034944380393647663097122932054096497499372173655426001490523706420338569295336651710890573684019677759217870661212737247357405880820664927178088495215858146871879263751800984602985932698162273961076633523643835202995633499540183834155802818267851272548831758516869182437242931805403980791754746626006476079454097625092840780082439714320205260269688321703810233928079570111756308054562894585981942319925526777818217557476065327610118574797088008909182151108349170382627979032634174817388985139576685801951286128016863226171584670584076323016469832561901101046935132296931772127132208886879952784365515665953574296465572256354726117643721595184321112997841125169476348739402026594188856004516253871393408099807703199223400665649096671187831486613438876242829710309369644825547992140125106383654419038095500279809095505649303814322972376566422598448002377934066720536229380920922543690696104231708597556796101427242936901164198346629895381844713902577101283106727712840649144051502211916822165178520987288416972415604100125497232288309471492641997738969969117321007361282043562699615687464878750765016213314570650013643353625984662488265526261293552520929369724867274450373730665760984558561122049574421291812727028630268558011572171790627656923122103365862052320659551722952826597418610185007731140986981139925733255242306211961528183726843187312224695326952174319569028501233479469433459342438948709858093903717403684512865549582857426422331688610769893646360768830483933918862640541803017976799615644418973580167812449009696764248140345001899702271438795412657203055956357935952531203873632041887921011833453230878788848365345430840897302923918349720549512022533935488172508490211628739297242149527440553331882181635997146379209843042768686697469998459568160307689591978696033571137337558317739715246289314832643143700295798441218602720053481565055435664509550618673066509552185007937398702623191685765807300641796577759294035927571671065361602015042870905768805639064764570695663975692268619572063456276922752855874565145861046874596481141279435518791799470867103354681452652259504220841502132098465053042666662196646993298855153429927075294055354844662532399463733503087389321958431767218473621483614341327018217758735746418643040463543506708819432785350109575664144568073660506747791666340555453552085111741733310201339785001347477378512430398466208700528799683823296951395291167584938448805388135420536038863582966614443747278198510615418338165804977080686891086399644530672160308891459074068050748465997110982333058225123023428306234990346502130147226479747968140368546719234079176443656205723919781399791381068788136787474645973333386423435268 |

o2 : MutableMatrix

See also

Ways to use rowPermute :