timesxysumgeneratexygeneratexygenxy0genxyzifgezxxyziftruexyzniliffalsexyzconsygenxyszsumxssum2xs0sum2xsyifsumisNilxsisZeroheadxsxsyifsumtruebxsyyifsumfalsebxsyifsum2bxsyifsum2truexsysum2tailxsyifsum2falsexsysum2conspheadxstailxssyisNilniltrueisNilconsxxsfalsetailnilniltailconsxxsxsheadconsxxsxheadnilerrorisZero0trueisZeros0falseisZerossxisZerosxp0ss0ps00pssxspsxgex0truege0syfalsegesxsygexyacadtimesxygeneratexytimesxysumgeneratexygeneratexygenxy0genxyzgezxgenxyzifgezxxyziffalsexyzgenxyszsumxssum2xs0sum2xsyheadxssum2xsyisZeroheadxssum2xsyisNilxssum2xsyifsumisNilxsisZeroheadxsxsyifsumfalsebxsyifsum2bxsyifsum2truexsytailxsifsum2truexsysum2tailxsyifsum2falsexsytailxsifsum2falsexsyheadxsifsum2falsexsypheadxsifsum2falsexsysum2conspheadxstailxssyisZerossxisZerosxpssxpsxgesxsygexytruetimesxygeneratexyfalsetimesxysumgeneratexyfalsegeneratexygenxy0falsesumxssum2xs0falseiffalsexyzgenxyszgenxyzifgezxxyztruegenxyzgezxfalsegesxsygexytrue1ge281120s1411ifsum2falsexsysum2conspheadxstailxssysum2xsyifsumisNilxsisZeroheadxsxsyifsumfalsebxsyifsum2bxsyifsum2truexsysum2tailxsytrueifsum2truexsytailxsfalsesum2xsyisNilxsfalsesum2xsyisZeroheadxsfalseisZerossxisZerosxtrue1isZero17111s1113sum2xsyheadxsfalseifsum2falsexsyheadxsfalseifsum2falsexsytailxsfalseifsum2falsexsypheadxsfalsepssxpsxtrue1p17111s1113