BOMB - Bomb the Bridge

no tags 

You want to destroy a bridge with bombs. The lower-left corner of the bridge is at (0,0) and the upper-right corner is at (w, l). There are already b bombs exploded, the i-th bomb created a hole of radius ri centering at (xi, yi). You want to throw exactly one more bomb so that the bridge is split into two connected parts(though the two parts can share a finite number of points), so that no one can go through the bridge from y = 0 to y = l. Your task is to find the minimal radius of the last bomb to split the bridge, assuming that the last bomb can explode precisely at the position you want (possibly at non-integer coordinates). Note that you are only allowed to use bombs with integer radius. That is, even if a bomb with radius 1.01 is sufficient, you have to use a bomb with radius 2, since you only have bombs with integer radius.

Input

The first line contains t (1≤t≤10), the number of test cases followed. Each test case begins with three integers w, l, b (1≤w,1≤100, 0≤b≤10). Each of the following b lines contains three integers integers xi, yi, ri (0≤x≤w, 0≤y≤l, 0<r≤100). The bridge is guaranteed to be connected before the last bomb.

Output

For each test case, print the minimal radius of the last bomb.

Example

Input:
3
100 100 2
15 50 20
90 50 30
100 100 1
50 50 40
100 100 1
10 50 10 Output: 13
50
40


Added by:3xian
Date:2009-10-31
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 NODEJS OBJC PERL6 SQLITE VB.NET
Resource:Zhuhai Contest 2008