In the city of Ultima Thule job applicants are often offered an IQ test. 

The test is as follows: the person gets a piece of squared paper with a 4 × 4 square painted on it. Some of the square's cells are painted black and others are painted white. Your task is to repaint at most one cell the other color so that the picture has a 2 × 2 square, completely consisting of cells of the same color. If the initial picture already has such a square, the person should just say so and the test will be completed. 

Your task is to write a program that determines whether it is possible to pass the test. You cannot pass the test if either repainting any cell or no action doesn't result in a 2 × 2 square, consisting of cells of the same color.
Four lines contain four characters each: the *j*-th character of the *i*-th line equals "." if the cell in the *i*-th row and the *j*-th column of the square is painted white, and "#", if the cell is black.
a=input()
b=input()
c=input()
d=input()
if(a==b and b==c):
    print("so")
if(a[0]=="#" and a[1]=="#" and b[0]=="#" and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()
if(a[0]=="#" and a[1]=="#" and b[1]=="#" and (b[0]=="#" or b[0]==".")):
    print("YES")
    exit() 
if(a[0]=="#" and b[1]=="#" and b[0]=="#" and (a[1]=="#" or a[1]==".")):
    print("YES")
    exit()     
if(a[1]=="#" and b[1]=="#" and b[0]=="#" and (a[0]=="#" or a[0]==".")):
    print("YES")
    exit()       






if(a[1]=="#" and a[2]=="#" and b[1]=="#" and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()
if(a[1]=="#" and a[2]=="#" and b[2]=="#" and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit() 
if(a[1]=="#" and b[2]=="#" and b[1]=="#" and (a[2]=="#" or a[2]==".")):
    print("YES")
    exit()     
if(a[2]=="#" and b[2]=="#" and b[1]=="#" and (a[1]=="#" or a[1]==".")):
    print("YES")
    exit()       
    





if(a[2]=="#" and a[3]=="#" and b[2]=="#" and (b[3]=="#" or b[3]==".")):
    print("YES")
    exit()
if(a[2]=="#" and a[3]=="#" and b[3]=="#" and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit() 
if(a[2]=="#" and b[2]=="#" and b[3]=="#" and (a[3]=="#" or a[3]==".")):
    print("YES")
    exit()     
if(a[3]=="#" and b[3]=="#" and b[2]=="#" and (a[2]=="#" or a[2]==".")):
    print("YES")
    exit()     








if(b[0]=="#" and b[1]=="#" and c[0]=="#" and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit()
if(b[0]=="#" and b[1]=="#" and c[1]=="#" and (c[0]=="#" or c[0]==".")):
    print("YES")
    exit() 
if(b[0]=="#" and c[1]=="#" and c[0]=="#" and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()     
if(b[1]=="#" and c[1]=="#" and c[0]=="#" and (b[0]=="#" or b[0]==".")):
    print("YES")
    exit()       






if(b[1]=="#" and b[2]=="#" and c[1]=="#" and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()
if(b[1]=="#" and b[2]=="#" and c[2]=="#" and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit() 
if(b[1]=="#" and c[2]=="#" and c[1]=="#" and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()     
if(b[2]=="#" and c[2]=="#" and c[1]=="#" and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()       
    





if(b[2]=="#" and b[3]=="#" and c[2]=="#" and (c[3]=="#" or c[3]==".")):
    print("YES")
    exit()
if(b[2]=="#" and c[3]=="#" and b[3]=="#" and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit() 
if(b[2]=="#" and c[2]=="#" and c[3]=="#" and (b[3]=="#" or b[3]==".")):
    print("YES")
    exit()     
if(b[3]=="#" and c[3]=="#" and c[2]=="#" and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()     









if(c[0]=="#" and c[1]=="#" and d[0]=="#" and (d[1]=="#" or d[1]==".")):
    print("YES")
    exit()
if(c[0]=="#" and c[1]=="#" and d[1]=="#" and (d[0]=="#" or d[0]==".")):
    print("YES")
    exit() 
if(c[0]=="#" and d[1]=="#" and d[0]=="#" and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit()     
if(c[1]=="#" and d[1]=="#" and d[0]=="#" and (c[0]=="#" or c[0]==".")):
    print("YES")
    exit()       






if(c[1]=="#" and c[2]=="#" and d[1]=="#" and (d[2]=="#" or d[2]==".")):
    print("YES")
    exit()
if(d[1]=="#" and c[2]=="#" and d[2]=="#" and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit() 
if(c[1]=="#" and d[2]=="#" and d[1]=="#" and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()     
if(d[2]=="#" and c[2]=="#" and c[1]=="#" and (d[1]=="#" or d[1]==".")):
    print("YES")
    exit()       
    





if(c[2]=="#" and c[3]=="#" and d[2]=="#" and (d[3]=="#" or d[3]==".")):
    print("YES")
    exit()
if(c[2]=="#" and c[3]=="#" and d[3]=="#" and (d[2]=="#" or d[2]==".")):
    print("YES")
    exit() 
if(d[2]=="#" and c[2]=="#" and d[3]=="#" and (c[3]=="#" or c[3]==".")):
    print("YES")
    exit()     
if(c[3]=="#" and d[3]=="#" and d[2]=="#" and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()     










if(a[0]=="." and a[1]=="." and b[0]=="." and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()
if(a[0]=="." and a[1]=="." and b[1]=="." and (b[0]=="#" or b[0]==".")):
    print("YES")
    exit() 
if(a[0]=="." and b[1]=="." and b[0]=="." and (a[1]=="#" or a[1]==".")):
    print("YES")
    exit()     
if(a[1]=="." and b[1]=="." and b[0]=="." and (a[0]=="#" or a[0]==".")):
    print("YES")
    exit()       






if(a[1]=="." and a[2]=="." and b[1]=="." and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()
if(a[1]=="." and a[2]=="." and b[2]=="." and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit() 
if(a[1]=="." and b[2]=="." and b[1]=="." and (a[2]=="#" or a[2]==".")):
    print("YES")
    exit()     
if(a[2]=="." and b[2]=="." and b[1]=="." and (a[1]=="#" or a[1]==".")):
    print("YES")
    exit()       
    





if(a[2]=="." and a[3]=="." and b[2]=="." and (b[3]=="#" or b[3]==".")):
    print("YES")
    exit()
if(a[2]=="." and a[3]=="." and b[3]=="." and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit() 
if(a[2]=="." and b[2]=="." and b[3]=="." and (a[3]=="#" or a[3]==".")):
    print("YES")
    exit()     
if(a[3]=="." and b[3]=="." and b[2]=="." and (a[2]=="#" or a[2]==".")):
    print("YES")
    exit()     








if(b[0]=="." and b[1]=="." and c[0]=="." and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit()
if(b[0]=="." and b[1]=="." and c[1]=="." and (c[0]=="#" or c[0]==".")):
    print("YES")
    exit() 
if(b[0]=="." and c[1]=="." and c[0]=="." and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()     
if(b[1]=="." and c[1]=="." and c[0]=="." and (b[0]=="#" or b[0]==".")):
    print("YES")
    exit()       






if(b[1]=="." and b[2]=="." and c[1]=="." and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()
if(b[1]=="." and b[2]=="." and c[2]=="." and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit() 
if(b[1]=="." and c[2]=="." and c[1]=="." and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()     
if(b[2]=="." and c[2]=="." and c[1]=="." and (b[1]=="#" or b[1]==".")):
    print("YES")
    exit()       
    





if(b[2]=="." and b[3]=="." and c[2]=="." and (c[3]=="#" or c[3]==".")):
    print("YES")
    exit()
if(b[2]=="." and c[3]=="." and b[3]=="." and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit() 
if(b[2]=="." and c[2]=="." and c[3]=="." and (b[3]=="#" or b[3]==".")):
    print("YES")
    exit()     
if(b[3]=="." and c[3]=="." and c[2]=="." and (b[2]=="#" or b[2]==".")):
    print("YES")
    exit()     









if(c[0]=="." and c[1]=="." and d[0]=="." and (d[1]=="." or d[1]==".")):
    print("YES")
    exit()
if(c[0]=="." and c[1]=="." and d[1]=="." and (d[0]=="#" or d[0]==".")):
    print("YES")
    exit() 
if(c[0]=="." and d[1]=="." and d[0]=="." and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit()     
if(c[1]=="." and d[1]=="." and d[0]=="." and (c[0]=="#" or c[0]==".")):
    print("YES")
    exit()       






if(c[1]=="." and c[2]=="." and d[1]=="." and (d[2]=="#" or d[2]==".")):
    print("YES")
    exit()
if(d[1]=="." and c[2]=="." and d[2]=="." and (c[1]=="#" or c[1]==".")):
    print("YES")
    exit() 
if(c[1]=="." and d[2]=="." and d[1]=="." and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()     
if(d[2]=="." and c[2]=="." and c[1]=="." and (d[1]=="#" or d[1]==".")):
    print("YES")
    exit()       
    





if(c[2]=="." and c[3]=="." and d[2]=="." and (d[3]=="#" or d[3]==".")):
    print("YES")
    exit()
if(c[2]=="." and c[3]=="." and d[3]=="." and (d[2]=="#" or d[2]==".")):
    print("YES")
    exit() 
if(d[2]=="." and c[2]=="." and d[3]=="." and (c[3]=="#" or c[3]==".")):
    print("YES")
    exit()     
if(c[3]=="." and d[3]=="." and d[2]=="." and (c[2]=="#" or c[2]==".")):
    print("YES")
    exit()     
else:
    print("NO")