N, A, B, C, D = map(int, input().split())

S = '.' + input() + '#'

# S[A,C],S[B,D]には'##'が存在してはいけない
if '##' in S[A: C + 1] or '##' in S[B: D + 1]:
    print('No')
    exit()

# 追い越さなければいけないとき
# S[B,D]に'...'が存在する必要がある
if D < C:
    if not '...' in S[B - 1 : D + 2]:

        print('No')
        exit()

print('Yes') 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() '.' input() input '#' if '##' in S[A: C + 1] or '##' in S[B: D + 1]:
    print('No')
    exit()

# 追い越さなければいけないとき
# S[B,D]に'...'が存在する必要がある '##' in S[A: C + 1] or '##' in S[B: D + 1] '##' in S[A: C + 1] '##' S[A: C + 1] S A: C + 1 A C + 1 C 1 '##' in S[B: D + 1] '##' S[B: D + 1] S B: D + 1 B D + 1 D 1 print('No') print 'No' exit() exit if D < C:
    if not '...' in S[B - 1 : D + 2]:

        print('No')
        exit() D < C D C if not '...' in S[B - 1 : D + 2]:

        print('No')
        exit() not '...' in S[B - 1 : D + 2] '...' in S[B - 1 : D + 2] '...' S[B - 1 : D + 2] S B - 1 : D + 2 B - 1 B 1 D + 2 D 2 print('No') print 'No' exit() exit print('Yes') print 'Yes' A, B, C, D = map(int, input().split()) map(int, input().split()) A B, C, D = map(int, input().split()) map(int, input().split()) B D = map(int, input().split()) map(int, input().split()) D N, A, B, C, D = map(int, input().split()) map(int, input().split()) N C, D = map(int, input().split()) map(int, input().split()) C S = '.' + input() + '#' '.' + input() + '#' S
N, A, B, C, D = map(int, input().split())

S = '.' + input() + '#'

# S[A,C],S[B,D]には'##'が存在してはいけない
if '##' in S[A: C + 1] or '##' in S[B: D + 1]:
    print('No')
    exit()

# 追い越さなければいけないとき
# S[B,D]に'...'が存在する必要がある
if D < C:
    if not '...' in S[B - 1 : D + 2]:

        print('No')
        exit()

print('Yes')
