24 lines
548 B
Python
24 lines
548 B
Python
|
import sys
|
||
|
|
||
|
def window_iter(it, size):
|
||
|
from itertools import tee
|
||
|
wt = tee(it, size) # tuple(n iterables)
|
||
|
# shift each iterator by its place in the window
|
||
|
for (i,x) in enumerate(wt):
|
||
|
for _ in range(i):
|
||
|
next(x)
|
||
|
while True:
|
||
|
try:
|
||
|
yield tuple(next(x) for x in wt)
|
||
|
except RuntimeError: # RuntimeError: generator raised StopIteration
|
||
|
break
|
||
|
|
||
|
L = sys.stdin.read()
|
||
|
|
||
|
from itertools import combinations as comb
|
||
|
|
||
|
for (i, T) in enumerate(window_iter(L,14)):
|
||
|
if all(map(lambda x: x[0] != x[1], comb(T,2))):
|
||
|
print(i+14, L[i:i+14])
|
||
|
break
|