algo2: q1 and q2