import re

N, A, B, C, D = map(int, input().split())
S = input()
S = '#' + S
flag = True
if re.search(r'##', S[min([A,B]): max([C,D])+1]):
    flag *= False

if D < C:
    if re.search(r'\.\.\.', S[B-1:D+2]):
        flag *= True
    else:
        flag *= False
        
print('Yes') if flag else print('No') import re re N, A, B, C, D = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split A B C D S = input() S input() input S = '#' + S S '#' + S '#' S flag = True flag True if re.search(r'##', S[min([A,B]): max([C,D])+1]):
    flag *= False re.search(r'##', S[min([A,B]): max([C,D])+1]) re.search re search r'##' S[min([A,B]): max([C,D])+1] S min([A,B]): max([C,D])+1 min([A,B]) min [A,B] A B max([C,D])+1 max([C,D]) max [C,D] C D 1 flag *= False flag False if D < C:
    if re.search(r'\.\.\.', S[B-1:D+2]):
        flag *= True
    else:
        flag *= False
         D < C D C if re.search(r'\.\.\.', S[B-1:D+2]):
        flag *= True
    else:
        flag *= False
         re.search(r'\.\.\.', S[B-1:D+2]) re.search re search r'\.\.\.' S[B-1:D+2] S B-1:D+2 B-1 B 1 D+2 D 2 flag *= True flag True flag *= False flag False print('Yes') if flag else print('No') flag print('Yes') print 'Yes' print('No') print 'No' N, A, B, C, D = map(int, input().split()) map(int, input().split()) N D = map(int, input().split()) map(int, input().split()) D A, B, C, D = map(int, input().split()) map(int, input().split()) A flag *= False False flag flag *= False False flag flag *= True True flag S = '#' + S '#' + S S flag = True True flag B, C, D = map(int, input().split()) map(int, input().split()) B C, D = map(int, input().split()) map(int, input().split()) C S = input() input() S
import re

N, A, B, C, D = map(int, input().split())
S = input()
S = '#' + S
flag = True
if re.search(r'##', S[min([A,B]): max([C,D])+1]):
    flag *= False

if D < C:
    if re.search(r'\.\.\.', S[B-1:D+2]):
        flag *= True
    else:
        flag *= False
        
print('Yes') if flag else print('No')