from Queue import * # Queue, LifoQueue, PriorityQueue from bisect import * #bisect, insort from collections import * #deque, Counter,OrderedDict,defaultdict #set([]) import math import copy import itertools import string import sys myread = lambda : map(int,raw_input().split()) def solver(): S = raw_input() c = [] w = [] for i in xrange(len(S)): if S[i] == 'w': w.append(i) elif S[i] == 'c': c.append(i) if len(w) < 2 or len(c) < 1: print -1 return ans = 10000 j = 0 for x in c: while j < len(w) and w[j] < x: j += 1 if j + 1 >= len(w): break ans = min(ans, w[j+1] - x + 1) if ans == 10000: print -1 else: print ans if __name__ == "__main__": solver()