local e=Random.new()return function(...)local l local Z={...}if#Z<2 then return Z[1]and Z[1][1]end local j=e:NextNumber();(function()local e=0 for l,Z in ipairs(Z)do if not l then break end e=e+Z[2]end for l,Z in ipairs(Z)do if not l then break end Z[2]=Z[2]/e end end)()local v=0 for e,Z in ipairs(Z)do if not e then l=nil break end v=v+Z[2]if j<=v then l=Z break end end return l[1],j end


local u1 = Random.new();
return function(...)
	local v14
	local v1 = { ... };
	if #v1 < 2 then
		return v1[1] and v1[1][1];
	end;
	local v2 = u1:NextNumber();
	(function()
		local v3 = 0;

			for v4, v5 in ipairs(v1) do
			if not v4 then
				break;
			end;
			v3 = v3 + v5[2];		
		end;

			for v7, v8 in ipairs(v1) do
			if not v7 then
				break;
			end;
			v8[2] = v8[2] / v3;		
		end;
	end)();
	local v10 = 0;
		for v11, v12 in ipairs(v1) do
		if not v11 then
			 v14 = nil;
			break;
		end;
		v10 = v10 + v12[2];
		if v2 <= v10 then
			v14 = v12;
			break;
		end;	
	end;
	return v14[1], v2;
end;
