The above three lines need to be split into more lines and commented; not really clear what's going on (or what the variable names mean; use longer ones).