prodxsprodIterxss0prodIterxsxifProdisemptyxsxsxifProdtruexsxxifProdfalsexsxprodItertailxstimesxheadxsplus0yyplussxysplusxytimesxytimesIterxy00timesIterxyzuifTimesgeuxxyzuifTimestruexyzuzifTimesfalsexyzutimesIterxyplusyzsuisemptyniltrueisemptyconsxxsfalseheadnilerrorheadconsxxsxtailnilniltailconsxxsxsgex0truege0syfalsegesxsygexyabacprodxsprodIterxss0prodIterxsxisemptyxsprodIterxsxifProdisemptyxsxsxifProdfalsexsxheadxsifProdfalsexsxtimesxheadxsifProdfalsexsxtailxsifProdfalsexsxprodItertailxstimesxheadxsplussxyplusxytimesxytimesIterxy00timesIterxyzugeuxtimesIterxyzuifTimesgeuxxyzuifTimesfalsexyzuplusyzifTimesfalsexyzutimesIterxyplusyzsugesxsygexytrueprodxsprodIterxss0falseifProdfalsexsxprodItertailxstimesxheadxsprodIterxsxifProdisemptyxsxsxtrueprodIterxsxisemptyxsfalseifProdfalsexsxheadxsfalseifProdfalsexsxtimesxheadxsfalseifProdfalsexsxtailxsfalsetimesxytimesIterxy00falseifTimesfalsexyzutimesIterxyplusyzsutimesIterxyzuifTimesgeuxxyzutrueifTimesfalsexyzuplusyzfalseplussxyplusxytruetimesIterxyzugeuxfalsegesxsygexytrue