ARC#012
A - 週末
print{"Sunday":0,"Monday":5,"Tuesday":4,"Wednesday":3,"Thursday":2,"Friday":1,"Saturday":0}[raw_input()]
B - アキレスと亀
N,va,vb,L = map(int,raw_input().split()) for i in range(N): L -= float(va-vb)*L/va print "%.12f"%L
C - 五目並べチェッカー
黒石の個数をb、白石の個数をwとする。b=wもしくはb=w+1であることが必要条件。勝利条件がどうこうというのは、1手戻して(最後に打った側の石をどれか1個取り除いて)5個以上並んだ石が存在しなくなるかどうかを調べれば良い。
W = 19 b = [list(raw_input()) for i in range(W)] def check(): m = 0 for i in range(W): bc = wc = 0 for j in range(W): if b[i][j]=="o": bc += 1 else: m = max(m,bc); bc = 0 if b[i][j]=="x": wc += 1 else: m = max(m,wc); wc = 0 m = max(m,max(bc,wc)) for i in range(W): bc = wc = 0 for j in range(W): if b[j][i]=="o": bc += 1 else: m = max(m,bc); bc = 0 if b[j][i]=="x": wc += 1 else: m = max(m,wc); wc = 0 m = max(m,max(bc,wc)) for i in range(-W,W): bc = wc = 0 for j in range(W): if 0<=i+j<W: if b[i+j][j]=="o": bc += 1 else: m = max(m,bc); bc = 0 if b[i+j][j]=="x": wc += 1 else: m = max(m,wc); wc = 0 m = max(m,max(bc,wc)) for i in range(2*W): bc = wc = 0 for j in range(W): if 0<=i-j<W: if b[i-j][j]=="o": bc += 1 else: m = max(m,bc); bc = 0 if b[i-j][j]=="x": wc += 1 else: m = max(m,wc); wc = 0 m = max(m,max(bc,wc)) return m<5 bc = 0 wc = 0 for i in range(W): for j in range(W): if b[i][j]=="o": bc += 1 if b[i][j]=="x": wc += 1 ans = False if check() and ( bc==wc or bc==wc+1 ): ans = True if bc==wc: for i in range(W): for j in range(W): if b[i][j]=="x": b[i][j] = "." if check(): ans = True b[i][j] = "x" if bc==wc+1: for i in range(W): for j in range(W): if b[i][j]=="o": b[i][j] = "." if check(): ans = True b[i][j] = "o" print "YES" if ans else "NO"