N=io.read"*n"
io.read()
S={}
for i=1,N do table.insert(S,io.read())end

local ls=string.byte"("
local rs=string.byte")"

local lr={}

for i,s in ipairs(S)do
	local n
	repeat
		s,n=s:gsub("%(%)","")
	until(n==0)
	local l,r=s:match("%)*()%(*()")
	r=r-l
	l=l-1
	if(l~=0 or r~=0)then table.insert(lr,{l,r})end
end

if(#lr==0)then print"Yes"return end

do
local s=0
for _,v in ipairs(lr)do
	s=s+v[1]-v[2]
end
if(s~=0)then print"No"return end
end

local bl,br=-1,-1
for i,v in ipairs(lr)do
	if(v[1]==0)then bl=i end
	if(v[2]==0)then br=i end
end
if(bl==-1 or br==-1)then print"No"return end

table.sort(lr,function(a,b)return a[1]-a[2]<b[1]-b[2]end)
local s=0
for i,v in ipairs(lr)do
	s=s-v[1]
	if(s<0)then print"No"return end
	s=s+v[2]
end

print"Yes"