write a test generator in python for a competitive programming problem with the following input format:
n q
a_1 a_2 ... a_n
b_1
b_2
...
b_q

n is an integer i will pass via an argument flag -n
q is an integer i will pass via an argument flag -q
a_i for i=1,2..n are integers in the range [0, 1e9]. they are randomly generated from a uniform distribution
b_i for i=1,2..n are queries (NOTICE THESE ARE NOT INTEGERS), they follow one of the following three formats:
-- 1 x_i v_i -- here x_i is a uniformly random integer in [1, n] and v_i is a uniformly random integer in [0, 1e9]
-- 2 l_i r_i v_i -- here l_i and r_i are uniformly random integers in [1, n] such that l_i <= r_i and v_i is a uniformly random integer in [0, 1e9]
-- 3 l_i r_i -- here l_i and r_i are uniformly random integers in [1, n] such that l_i <= r_i

additionally i want to be able to seed the testgens randomness with a -s argument flag 

without going into specifics, query 1 is a point update in a segment tree; query 2 is a range update in a segment tree (lazy propagation) and query 3 is a range query in a segment tree

explain briefly how the testgen works, try to implement some slight biases in order to create stronger tests (e.g some index in the sequence is updated often or the query intervals are relaively long)

suggest any biases that might be worth implementing
