Back To School '16: Dodgeball

View as PDF

Submit solution

Points: 7 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type

Today in gym class, your class decided to play dodgeball, and aurpine is selected as one of the team captains! N students are lined up in a row, waiting to be put on teams. aurpine is allowed to pick multiple students as long as they are adjacent to one another, and the first letter of each of their names are the same (case insensitive).

As an assistant to aurpine, help him decide what his first choice should be by writing a program to determine all the possible choices he could make!

Input Specification

The first line contains the integer N (1 \le N \le 10^5), representing the total number of students.

The second line contains N space separated strings, each representing the name of the i^\text{th} student in line. Each name will be no longer than 20 characters and only contain letters from the English alphabet.

Output Specification

Output one integer, representing the total number of choices aurpine can make. Since this number can be very large, output it modulo 1\,000\,000\,007.

Sample Input

5
Sarah Timmy Turner Betty Bob

Sample Output

7

Explanation for Sample Output

The possible groups of people that aurpine could choose are:

  • Sarah
  • Timmy
  • Turner
  • Betty
  • Bob
  • Timmy, Turner
  • Betty, Bob

Comments


  • 0
    OnlyPascalVNM  commented on Sept. 18, 2016, 1:56 p.m. edited

    What is output for:

    7
    cdedc
    dbbec
    deaec
    dacea
    eabbd
    bacba
    ddcda

    Is it 11 ?


    • 8
      aurpine  commented on Sept. 18, 2016, 2:29 p.m.

      10