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

columnPermute -- permute some columns

Synopsis

Description

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

o1 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | 1 157536965537041165175488513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217794771025921 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217794771025921 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217794771025921 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217794771025921 |
     | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488603263658186286106331211505724914246488999403803298936725122086453973057459481155349904774916959904811024951226002706286187665157753476259869414983756783634690539119796289538                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217846310633474 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217846310633474 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217846310633474 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217846310633474 |
     | 3 131311016695637178589864353069922315429481650400293884211847608398141219497782260392835435685373515432599933404647369378562972565911002309838562955304854123854964314579880560257841489490495323075541888091982184978079827213304883412457032777362258529786179474041636190039446190466481447259955125751089642005835859231951984026722959227794095958994892305061363715078249917545428865730182847518794557470876680671665088813502747807430078316762969186418818411995028624318579764395364882229529539577676024962988651537729897335657789595968517303195162319995356812234505559744014293587434387143727615181164903939015384089854852740878384045462665075190763191638793087270566643725924275162314311023941895536840645733596922895533201589678415585132355568364859070070494481397252790724890527363872528424199321622110248041237606503704533681659557327813366885712642985359130841294138979330591809195497310856443620655095258068390759957730092428312881062173632166196595609163029031552778116605226867166363256913521219150500372788026060128539303763121823125510712850040923247479825975366361720616355269177076761498912405320701717976228631892617042234578632674270602234789050343742604262171963713030148350862067431130222174554852355808047386391646956793670682438168806578300772693732823501116151882881728734812898967669217411536287684705000423101318212374724830768146447695117845261504986162500498190588243421310292249877170182611296106117535727277255330596434339474323384179043978185954581199149495982803574650239631849725518943406266302676574347288223836586044123643457266290769546402016554194489914877434877994611393522746524064582362604298833096106163035813872441990219071519467173568984274116243609412663188149228607511166850271444142827455658456826615781192374425936120504758508924442704587233918166601635925643882277832715719701756887268266389411308277641660792036170752667159520093559042130258775586057138266905024997779801024804098698859163660779811806068170687396047533674996405002101087931876801124686615634653900903232316785548005018050059855628963263356541692613163406392351934045144336153138113387862355579677369774494721869677841236205552908409294245138084070495645955268594788787873216396752635870799244402274289810131351245969767520703584980383422856766175105684807272407417621990192542355726390670510624340624299259457073779861508576217078079700771490007636193974409774562495105513419462073610657486228070210901301918865346105440575791902207817709554694884059942497271063040265771158076559278119167436747126371284168942005409458290742498990269548817679609493002042929762115119009186267390803971                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217897850241027 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217897850241027 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217897850241027 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217897850241027 |
     | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217949389848580 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217949389848580 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217949389848580 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217949389848580 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753560077641368463441035090896420472200627058296930854022573629486253562425577206523754999032082480007566130398589176219116911203559919546385886360254262054977723103162924422051494530788703691950717913206027688343519245770263253250481913277207882906489218998649689161667714997646788764094507602091099862368655804823391921201585282367875765189970935258484587554851383231718645203051266924689416927183781241257006707197877157514449315514256072600508861288217490752396789801751680539390130756185784911547925700939264821744924819881304885171641401086562254585119339329245406901829178159052886852868988252554902813731300473361912842723217662668461083784090268269182460938858711904462581292680612048299836840816766745396718153670449089927618229967497559993186716386106189289902209063017096373473283074806537576351759110832148402080323935742170680308783157682527244166480666084705677008867431973373865886894492372334926947468077899390525797194894031725359387273514995451875509563355495787178741579520639912209382691880750065147859408382415253776097212384204317322834142224587681870531371623861734586418991623585702479857369633978296139628621047506078900806338494115393125893586932839148243292680790154466251285844885173722392587359329579083722191685874616163108712853075107459996622716284297757612365692810726328083320388048626162722488691721711727577842469950040581386833037416338907312614177070332106747477312493038458929284944936759343468502306258191605843335205387997992027552252722044921053301895335148772794973300194715410827440326233808193590373826761553776189291659811020638118425962882300923595741580336934167685991201576554958303637975005219538187843108969081944797128774898439892951005361866686342383424885305849614351379407212860758170678173032366622185671577808314092882502520033090573310778845861615781854469939830591965596379494820568667766400752599956398662697619934961816268513563377965594610799423067449644112721399953629963492536894424303733481076788228069594357661843904921661485306807495764380049477075719013535175355273144885549257275617060394855959963037145148756990447750740808334171857147347155957638029495196589586276827434749052299054444654490839689284164903182586469553045352072184297902174364659737081727320265709976367364091662930091940315226733489432661904282834463629214489438583621672573733934986227839836062783681402100028988591054413872087027178948976187213045038489869301524839000810391436447677689538176394067941651017628077713461577741863511828984540303875749846406452560095199814790008242572151830641126587849197668868295483213930145716566628414302528898466438066451520018395399479108916777599316062984722310616255679008563499804288340811461877535113127636905249543610198876216969290927618114639774439115797691009043405079915246133049873433744189727517409842741148188892907236738238873512832247820200365931894428004164235635859369930531512419783035501522353270622893065118504366291614335301510448322230850505593814453301363558941967163615854756262455067049884113097786959994299406712750687673712515081195757919605043674342990498986127332750926892062979740222977016552068606028030837223438759221129558908453314458371460671473942463836164555158462017680231396376004862216140456179559544050520845648237855872408809400645421198051728464195333382418352489733639730881464996230526010606925237976869599419411611921326463315921317846655757388188141762557725562302045783372807703539085960413124131674906319748686326085954472409692568506138123763766499306884695414934921279242468788246719647225940683595239023161458377478871771208430506110472576399110975259919001240484318521499018314444982439005587129801455727790813201140799379160011363244812362931327195362546511631444849961361379120050095748038286966554670641142181692416139792571591112179020846883204520180747960454119660542476986854784101216748273707777491308120343695102312230093774892463032605372293275430981843173194231894761420265654532792257770312835618847535617356023858549330052307237903213525959150359518525166601046058713654130612365944833134565322138693679616488451033532778531577952178121914757209301229673262581706721133515888649549102817042429894157471608881944498498781528921649224557786831777112304729028240695957782348831269380731704831403989830430673795431705227657281101610953131774254844630974338625913315564303990096420039561664014630774939457568034848658437874843152495007045580366185286038839198664194438061280525900349354761682895303590964606291184966019426868145714634510307383019739607705992272236972897803066318012098600715546935482689232888293286125129687178189308721539964083417125781750440143455759680888137478270815864716218525579697277282869306095299802267928107642627872918429350274914489125939300789575268864845956157060934021402355567951074076207995139708789322550552101860286563478455412937166139800692498830094074819257251079651422204059614802053138713941225598522561901654287183616377596688058440281624934006720596275896100931596598400658999557508479436428856784735647826753005195743379759019308717077352931645627486888671541946965076552041224217791081933069379009596257428231263781384394327569916703713379231441252217949389848580 |

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

o2 = | . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | 1 157536965537041165175488513                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445135593046017 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445135593046017 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445135593046017 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445135593046017 |
     | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488426981812972642704247754627008295608799938116204778111834746961889185854896468835660070979177779321147453729798199961895843104056311059290169462870160222964836833678728364034                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445187132653570 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445187132653570 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445187132653570 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445187132653570 |
     | 3 131311016695637178589864353069922315430024104793208073022250811406159683803581353922624215781646858978923115046895507741814158944476504502680599256499731636498824796802865775257390806058151818589459874125871613431022972011974668981779383395064145886752193248287716803988761235964995702888708486701188393543719235703269702235041757221545692653543293261140865697216291782100426445600665118725191669219795680262464941670557405696264474384712388377371178552761885266656713680578810296294098245738141994058341628769117059209499911758343462387202587355034459448368940440482538923983661087303012998544856325568865423312520425009037249881662629678175737003303464752981430858998257901870542970314541219695025816448627528885628078099558905706410901246392636553138182133458551447202459707270766853812833975810963506360081217561692048234691141355784670057963994115323662996066491515390932825800369076830696798579522365980098214106043345055259941492621046894277192449337397720837521015424191013469628673567070245631067453661738820247035517720158054911203873102972809467114119804384925629204184308650809193527390477489029698832669275782395088204897395000556517782784968465342390469949640471920130452437501088066743186075940262321612392373977536354327505817519732838161527585123672506786267611262917665487185343024303257049562968434551733577298049441364709511520998422943853826942539770866431329713427261960214396373729536337750581462215523350091686525806322964057633909944194062717487124920523115687919846920298430418581024586512236766690376651312587778031187967994760775758496417398782256840430990311158185167929817807387994392961311069854665082075274648383911735599804685317201330764119671768531940488010479418899824920009913257259521045281455591118616029430792621794380165651025792944093180036121085735176239519695743898409713161040057743940202068395015179163793643270599530538798309272042961549865014302006527829558116253775121305884539666932293019468820049671540830747004953865252470680901623510777843934280013659549507642618270273260006131057936307345428910720331347002401945410455156307542784556890503918058349343164878536729013685549669512405329492321813606856228413868323139305679452363498968825195160242868475822491648052104815791087153422205882265196421877284442335104523029971792554918787435509948869380870470084181295812034292769564262544993120274047378588090421364782755123458866705261198649773841071333659866437869017570336711637418675365791330458626369548652820924855639777218459812466088456464164724321401402767629518708783388617093562107747527320909343653531854860281919188021441225293827                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445238672261123 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445238672261123 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445238672261123 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445238672261123 |
     | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445290211868676 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445290211868676 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445290211868676 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445290211868676 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993268243575642287622052818265143791858626734292669469374890124717479654927040935744485471913877428264067389124945305867192108839005790837908537390568828039547901062793403400438118908703601418081587209606865605462660935329822219453302183362431993674916905865976117843977550881317153338942907692121535483210373557925914671246202928112904601250455120453275497853627741912641364011552519099747834260198603767298557540270807733773782570970061470719232952010984819928026792175594540764721906749436625818285662418970694723064679050793020783989584578406447263370811249067858931529694150717886352733524034380064765974908647196415564010719920801892696282692498873924532661429659438061089922986779833113823763413508709985297138140812185299763542655807357426704613855810811560787841091130534092338837586775559078611116446103219573038506693355653445857650286503467991697882078653091483225475319283466694240114422313955085700574506617115450010800743246584811511252069679678455119779639838229693031902588742429155936936057811274267567294305861982493944481602591633418792578345370135534979954511538692978133883759885004168579186741166814003576172811755518125937531525852208783031610577499731649778804669983706769381518452561186454142980172666864213520665335979163296386866055559958617628042410326220860381384991192215550045607840416509448836279092294709413447641872620097969753163743268043906934754385112608969123555746608696421303770334851401381481177008245026479160883832325489734616221364693424855022050804909579432137596497207957022522231511274357173624337785279593540201461985325588203062798383937808828210962879926290661547871297718315961167502489770893357208712589572677874620300623624886200605836839242351594610576625480207631914036123540180904564929332230368328847514841451607905038248924083341790374931793733038323972483276824882992357358130220147622335907273255634694406152215490677333083946455675072203896003024814130581491524839884280093455174790254324673496519598130170881893031511882805910445184921603190356008046813972046113924929073792783934883460362925176027881548718281368408339375133247690410637383423217477655602038922121481435099666401655596455533351122083085043402465091295605029200292333311324778904309250929611471341508875378523803954286261878141022903891182149365019644234496644476878313217844913156325106158509557767621276036980604494061957670619760072676214784737885799436253457986535915893553107111820631517224067967242495248038051099363675794367373814029334635617455934360207952352471177944592274027299789731677488443166677523154812393877240666167048145088926451808404248772742643506873076814578947486607714025246841850442987691387002492062212097246967119003296217021080164352341676536955824146566374876896109519195928309059438369800144734174729346632878225437440977250905014614488464343072853586768760884139330617991181940520640567302684363767638437434613037387610283690069221580498239632704906816711086943696719914113828924701123056546124213240506960393438100001363048683137134476572497981146175884914338367541878257524269736762326808417843875311595439981322630266400669152680965726231347352438163394626680137031663710314981288590425620473387666886634518732944930583894331973719059137020274731182677814732498885641184440619551201318368791050547226666150252084907552663776695353876602461292249819143245352272908838394247885259099328126144999431283521286192886948562266083624056725089072492026505092324956976899341198923941972548416525757301410884173004192731334195792136703862481874533223286351318372723006158118420208024389527748197023605261452741459644834818765540127791778622683107618238407242829166988137657352159473387358707329463980221103902716686112645327230848010262382593789707091294428155609641415648269691559264485224973763602539917145567646450469834466632781758863719514180559138133011991504535709899259798058139890244718451196596273919177764267886824521677132484867549564599592403720801374612321517091003783255685956389523033156769133414938087270766733420040045247197205429259125098904276206549955674378507355896074779487154319801917076308278075183139739447360445748646821135235760579346420599473418800534721448134608190376550459944168822946043125154616876419906354169002793921784084396425860396104591072765955714955505694310375929239380550699479511515690441001478489452845947990665921735115702176379689885966977068655270050256528004491287041435287802734387348193026441394401709930653174039034591661221714219144745848230506778189739438109005567460757551986347502468982055942188884133227423873145154167818459959996203266509450916398209580928077906216379367266867966537667287082800285468927723566421589976976023048696076247511282282613113937725897785792635431647965511022918858953003277856702032276307031147823540979702873295586461560249919962589461953552111779809598143333962691791245523814782671091887332118193086932477625780987456904976982266003146330588190573231920848499686079362139285124359136538493615000080575804177871315830169013468802409189941667567445132993365664863808208908486031410002112866865391325183693458032731378340478866855378352567113856443176181041536846757454613798486157890268904777268617936448115585346997435807035584181679086205909137998193436749153767343195155430666442235552026163407586319839336224569078174232464758138850723762360790763387504567564500328743249194896046214505910283668749676335153570032227863966479300895211028651184788883614363387216480233769720771121556336240067259431571437854657483515054951983747960456028320301337537686670268340388062927184147020957371671500668573188151120584212893396719977754231007090467373729051438487316134017591219867756991386757751672844764230782383355519237219223039213671059141378820988339158527453421917343020538407378202703453863622182479576979754065562639470222786832871629924452043641139296802256476873734150103303154965950342978231360072240792735831861090838286833430939426949823183880487731323019972448604180863981098843172564896716607479536093410029352192192131650269068010893725132082754742956476074083099736819262221163295077872015225640981926343957618748228940856395810539377060982343055159990917700057111455730769207997610888175787809389774230273816111732647068239758924288094958881366271539095272781845921223560217992698909622956153694897219840131820310254081909812072008568278295622730039386040355539632998504218616029572869946860310568310305422813205886082872207487950333350672851392297835088959414237941807749556489623502576995893030780529390518343495292248689228210841234481675169251863127314549084515272922277813630270584182618375772662386353406098243693095904465483346338383424371678744622835366992563556497867327340930532150323621645281298633331645660687643765888362240607097923059792302039390444369518207769322706917196684811180753589062007969865492903574329099259621623183891416107771573634275753787164493729838904965295519920789755290766000536267604240156486908978422381573307480942511785024181383998611158933321182823269739520781519827345559715260248690146884782250642255540316410813714776629935099486269454852283688795675830315467855448936943728889131511025443717283329165056250263332563182751716963156403799968871182007563028622957709394761568045331492383309484196834097234172489048053710986356696427191877832549520233455833755859467226496541778019457749305155383233644409087602110087010665919544224087027272263000932455341991835873691400950127932854130286732661731161170530001888979739101108296766977047249912353061428180777934868156239897544035199617282072063656638384662555134480686704498202027759798785383343917886389361339537541819365207019093673794084549844522055911060750807188037169421632365400411345041984291185401095529925097673749080184926148906263995797357493498018494991004338227622188342686455279759087344024577479206369360395959693905283656905370946664911058987452071270989090119432469960143839875009500924810217506892564136449897981417121633092548526543330366569476143585031637383724801432414120856146949115581595741185341711705231344603918727283049444671456369366585603386008667303593765030405967693714811160732903925657051932594984924565489366434899034469908102943904944714863560908278270951841489655258751921198238623667999882582611867006965462998536711412400677208247670829081587801267479643711275816673311291185084977817853424626174363713305277090108346658479396278580789282083643277590075422353756333356655056274097559243870286714105206763887837155691367516986861634122226262470607313066030248902744549839250290295789122598164572329830202763429193259658498455934179692955533751965569578433635332071610954475127934378556913318771374626105383698421243170356154157198341264809964653079477193049648617978226737686082726953397460830031585345924059416653141356540243810595083423946471866635796707356073908986999025711349840640349417199421888315663421459990281265875602512840467139230746598876086349901957092806794087772234508337961644027931934846333300297573221199795106001217406149293334200002890253422295147548936845621525633496477278538386610017278103718658710425125136114605066495756475949393610154501513426287843033311220993467636741312943442192033375741203445005051409589979740257608235574619931307706381779531474488560687814546328795744100911983487878215141232027737749189740628393519597101493119939169128605640381737244754725042534537302886856714605382496068524656265651232845821331958077768991726356694205875001333041789160700575233898578523542808726369105057905964472704030116855795396216868390405995344512630090172022763045497724863581289219780551763691554401255752867799813609034540026274122425113170307066182405008976889871667697851223633981070074561002120429656117841829122732943139209023123690747794125373209723867445376197413848638636423965692002432882726728647636955763004205588814173377739719402329347208980763295320920675495777468841771288074972218860301615678936315742783018708047981168739764372086279130241677180363338185850599180558554318228266633264999887487997313140901886705057150852471385955702380127763007668645453706949892194099131913991884304103078144483642211353360664683773140734727073103323946218454114968336232652445374430955109328960785583390836052708702029528662848824016002153155685145499389397008178479712953421518766201808365476634142031886892056501596931023454404440728927694164638314409558039003126356336065543288028530780776911046467249900895971746313444600010560776728304855480800759548072780468253332540635356940371589036327395956959262282394181675618872544169396980974818103179956034861947795218045033122904859717253561826657090733286264966583502613235107480449900646420335259680794324349552931675118294565305932168120019952193040309877942755896316953477705901439422320832877904540423139374971552797802564122611565902394633192002831514792247024320186177057431549978313142337480371508014100485280772552330526897279854365291351176113749228728293036269302969093529063508255423609312818789619994964140929170234886800876328608151840727802311136248098565690976619994898866712750079217987405870030587560988139723967870595388138944403819828177719329523357526612768883957740513287042657491141688243129705262880392747713219522924987783888753879854898029617758280385511843302177746530869154979439412844076860488575596390667450827221725040161468783438054721178966311491461113951099425066361832421480820049012509864543049577506238891625117627025682121707856860495551160402774420675516432209191639127501524918862706700857005191694483503134452185315465164639181458076060925591487013747596379188780951098420276515540701160385033379538230249647328294230141447834402593413620264666410008017164776317774145833695305724423906268261358253913611515193362522265548818704598005440376432697734384282576115441888765019734823561483827098746687893834629411005128030803773430968904916710376401017215622285206338957969525183113278705475780204852543610243269274957235897923807752075105299723251035113365423227275749750607551445290211868676 |

o2 : MutableMatrix

See also

Ways to use columnPermute :