local s function s(Z,A,M)local H={}for h,u in pairs(Z)do if Z==A and h==M then print("\111\109\105\116")continue end if type(h)=="\116\097\098\108\101"then H[h]=s(u,A,M)else H[h]=u end end return H end return function(Z,A)return s(Z,Z,A)end


local deepcopy
function deepcopy(t, root, omit)
	local clone = {}
	for key, value in pairs(t) do
		if t == root and key == omit then
			print"omit"
			continue
		end
		if type(key) == "table" then
			clone[key] = deepcopy(value, root, omit)
		else
			clone[key] = value
		end
	end
	return clone
end

return function(tbl, omit)
	return deepcopy(tbl, tbl, omit)
end
