this is my solution
http://www.codechef.com/viewsolution/7429948
You are pushing down contents of add,mul and mod array down by using pushDown function due to use of if else only one of the three will be pushed down either value add[k] or mul[k] or mod[k] instead you must push entire three values firstly mod[k] value after that mul[k] value and then add[k] value.