local buildingsNum = io.read("*n")
local buildings = {}
local buildingNumberOrder = {}
for i = 1, buildingsNum do
local x, y, number, occupants = io.read("*n", "*n", "*n", "*n")
buildings[{x, y, number, occupants}] = 0
buildingNumberOrder[number] = i
end
local bombings = io.read("*n")
for i = 1, bombings do
local x, y, radius = io.read("*n", "*n", "*n")
local buildingsToEvacuate = {}
local atLeastOne = false
for building, _ in pairs(buildings) do
if math.sqrt((x - building[1])^2 + (y - building[2])^2) <= radius then
table.insert(buildingsToEvacuate, building)
atLeastOne = true
end
end
local evacuated = 0
local indexesToEvacuate = {}
for _, building in ipairs(buildingsToEvacuate) do
evacuated = evacuated + building[4]
table.insert(indexesToEvacuate, building[3])
buildings[building] = nil
end
table.sort(indexesToEvacuate, function(a, b) return buildingNumberOrder[a] < buildingNumberOrder[b] end)
for _, index in ipairs(indexesToEvacuate) do
io.write(index, " ")
end
io.write(#indexesToEvacuate ~= 0 and "\n" or "")
if not atLeastOne then
io.write("NULL")
else
io.write(evacuated)
end
io.write("\n")
end
bG9jYWwgYnVpbGRpbmdzTnVtID0gaW8ucmVhZCgiKm4iKQpsb2NhbCBidWlsZGluZ3MgPSB7fQpsb2NhbCBidWlsZGluZ051bWJlck9yZGVyID0ge30KZm9yIGkgPSAxLCBidWlsZGluZ3NOdW0gZG8KCWxvY2FsIHgsIHksIG51bWJlciwgb2NjdXBhbnRzID0gaW8ucmVhZCgiKm4iLCAiKm4iLCAiKm4iLCAiKm4iKQoJYnVpbGRpbmdzW3t4LCB5LCBudW1iZXIsIG9jY3VwYW50c31dID0gMAoJYnVpbGRpbmdOdW1iZXJPcmRlcltudW1iZXJdID0gaQplbmQKCmxvY2FsIGJvbWJpbmdzID0gaW8ucmVhZCgiKm4iKQpmb3IgaSA9IDEsIGJvbWJpbmdzIGRvCglsb2NhbCB4LCB5LCByYWRpdXMgPSBpby5yZWFkKCIqbiIsICIqbiIsICIqbiIpCglsb2NhbCBidWlsZGluZ3NUb0V2YWN1YXRlID0ge30KCWxvY2FsIGF0TGVhc3RPbmUgPSBmYWxzZQoJZm9yIGJ1aWxkaW5nLCBfIGluIHBhaXJzKGJ1aWxkaW5ncykgZG8KCQlpZiBtYXRoLnNxcnQoKHggLSBidWlsZGluZ1sxXSleMiArICh5IC0gYnVpbGRpbmdbMl0pXjIpIDw9IHJhZGl1cyB0aGVuCgkJCXRhYmxlLmluc2VydChidWlsZGluZ3NUb0V2YWN1YXRlLCBidWlsZGluZykKCQkJYXRMZWFzdE9uZSA9IHRydWUKCQllbmQKCWVuZAoJbG9jYWwgZXZhY3VhdGVkID0gMAoJbG9jYWwgaW5kZXhlc1RvRXZhY3VhdGUgPSB7fQoJZm9yIF8sIGJ1aWxkaW5nIGluIGlwYWlycyhidWlsZGluZ3NUb0V2YWN1YXRlKSBkbwoJCWV2YWN1YXRlZCA9IGV2YWN1YXRlZCArIGJ1aWxkaW5nWzRdCgkJdGFibGUuaW5zZXJ0KGluZGV4ZXNUb0V2YWN1YXRlLCBidWlsZGluZ1szXSkKCQlidWlsZGluZ3NbYnVpbGRpbmddID0gbmlsCgllbmQKCXRhYmxlLnNvcnQoaW5kZXhlc1RvRXZhY3VhdGUsIGZ1bmN0aW9uKGEsIGIpIHJldHVybiBidWlsZGluZ051bWJlck9yZGVyW2FdIDwgYnVpbGRpbmdOdW1iZXJPcmRlcltiXSBlbmQpCglmb3IgXywgaW5kZXggaW4gaXBhaXJzKGluZGV4ZXNUb0V2YWN1YXRlKSBkbwoJCWlvLndyaXRlKGluZGV4LCAiICIpCgllbmQKCWlvLndyaXRlKCNpbmRleGVzVG9FdmFjdWF0ZSB+PSAwIGFuZCAiXG4iIG9yICIiKQoJaWYgbm90IGF0TGVhc3RPbmUgdGhlbgoJCWlvLndyaXRlKCJOVUxMIikKCWVsc2UKCQlpby53cml0ZShldmFjdWF0ZWQpCgllbmQKCWlvLndyaXRlKCJcbiIpCmVuZA==