Polish version    English version  
  History of OI -> V OI 1997/1998 -> Problems


 News
 About Olympic
 History of OI
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
Stage III - results
Stage II - results
Stage I - results
Problems
Regulations
Schedule
Stats
IV OI 1996/1997
III OI 1995/1996
II OI 1994/1995
I OI 1993/1994
 OI books
 National team
 Olympic camps
 Photo gallery
 Links
 SIO
 MAIN
Niebieskie ksi.eczki
V Olimpiada Informatyczna 1997/1998

Task: ABS
Author: Krzysztof Diks
AB-words

I stage contest  

Every sequence of small letters a and b (also the empty sequence) is called an ab-word. If X=[x1,..,xn] is an ab-word and i,j are integers such that 1<=i<=j<=n then X[i..j] denotes the subword of X consisting of the letters xi,..,xj. We say that an ab-word X=[x1,..xn] is nice if it has as many letters a as b and for all i=1,...,n the subword X[1,i] has at least as many letters a as b.

Now, we give the inductive definition of the similarity between nice ab-words.

  • Every two empty ab-words (i.e. words with no letters) are similar
  • Two non-empty nice ab-words X=[x1,...,xn] and Y=[y1,..,ym] are similar if they have the same length (n=m) and one of the following conditions if fulfilled:
    1. x1=y1, xn=yn and X[2..n-1] and Y[2..n-1] are similar ab-words and they are both nice;
    2. there exists i, 1<=i<=n, such that X[1..i], X[i+1..n] are nice ab-words and
      1. Y[1..i], Y[i+1..n] are nice ab-words and X[1..i] is similar to Y[1..i] and X[i+1..n] is similar to Y[i+1..n], or
      2. Y[1..n-i], Y[n-i+1..n] are nice ab-words and X[1..i] is similar to Y[n-i+1..n] and X[i+1..n] is similar to Y[1..n-i].

A level of diversity of a non-empty set S of nice ab-words is the maximal number of ab-words that can be chosen from S in such a way that for each pair w1,w2 of chosen words, w1 is not similar to w2.

Task

Write a program that:

  • reads elements of S from the text file ABS.IN;
  • computes the level of diversity of the set S
  • writes the result in the text file ABS.OUT.

Input

In the first line of the input file there is a number n of elements of the set S, 1<=n<=1000; in the following n lines there are elements of the set S, i.e. nice ab-words (one word in each line); the first letter of every ab-word is the first symbol in line and there are no spaces between two consecutive letters in the word; the length of every ab-word is an integer from the range [1..200].

Output

In the first and only line of the text file ABS.OUT there should be written one integer - the level of diversity of S.

Example

For the input file ABS.IN:

3
aabaabbbab
abababaabb
abaaabbabb

The correct answer is the output file ABS.OUT

2



Print friendly version