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

# ##となっていたら無理
# C < D のとき、それぞれが移動可能かでわかる
# C > D のときは? 追い越しは...となる箇所があればいける

if '##' in S[min(A, B)-1:max(D, C)]:
    print('No')
    quit()

if C < D:
    print('Yes')
else:
    if '...' in S[B-2:D+1]:
        print('Yes')
        quit()
    print('No') 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 = str(input()) S str(input()) str input() input if '##' in S[min(A, B)-1:max(D, C)]:
    print('No')
    quit() '##' in S[min(A, B)-1:max(D, C)] '##' S[min(A, B)-1:max(D, C)] S min(A, B)-1:max(D, C) min(A, B)-1 min(A, B) min A B 1 max(D, C) max D C print('No') print 'No' quit() quit if C < D:
    print('Yes')
else:
    if '...' in S[B-2:D+1]:
        print('Yes')
        quit()
    print('No') C < D C D print('Yes') print 'Yes' if '...' in S[B-2:D+1]:
        print('Yes')
        quit()
     '...' in S[B-2:D+1] '...' S[B-2:D+1] S B-2:D+1 B-2 B 2 D+1 D 1 print('Yes') print 'Yes' quit() quit print('No') print 'No' A, B, C, D = map(int, input().split()) map(int, input().split()) A S = str(input()) str(input()) S N, A, B, C, D = map(int, input().split()) map(int, input().split()) N B, C, D = map(int, input().split()) map(int, input().split()) B C, D = map(int, input().split()) map(int, input().split()) C D = map(int, input().split()) map(int, input().split()) D
N, A, B, C, D = map(int, input().split())
S = str(input())

# ##となっていたら無理
# C < D のとき、それぞれが移動可能かでわかる
# C > D のときは? 追い越しは...となる箇所があればいける

if '##' in S[min(A, B)-1:max(D, C)]:
    print('No')
    quit()

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