Number of distinct subsequences
Submissions: 2816   Accuracy:


  Difficulty: Easy   Marks: 2
Associated Course(s):   Sudo Placement 2019

In mathematics, a subsequence is a sequence that can be derived from another sequence by deleting some elements without changing the order of the remaining elements.
For example abc is a subsequence of azbxc but axb is not a subsequence of azbxc

You will be given strings consisting of lower case English alphabets. The task for each string is to print the number of distinct subsequences (include empty subsequence).


The first line of input contains a single integer T denoting the number of test cases.
Then T test cases follow. The first and only line of each test case consists of a string of lower case English alphabets.

Corresponding to each test case, in a new line, print the number distinct subsequences. The answer may be too large, so print the answer modulo 109+7.


1 ≤ T ≤ 100
1 ≤ length of string ≤ 1000





In first test case for aa, the set of distinct substrings will {a, aa, Ø}. Here Ø means the empty substring.
In second test case for abbb the set is {a, ab, abb, abbb, b, bb, bbb, Ø}.


** For More Input/Output Examples Use 'Expected Output' option **

Author: Hemang Sarkar

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Need help with your code? Please use, generate link and share the link here.

to report an issue on this page.