#include <iostream>
#include <string>
#include <map>
using namespace std;
int main() {
string str = "0100110001010001";
// str ="aaab";
map<string, int> ans;
// 求连续子串
// 定义窗口大小
for (int i = 1; i <= str.size(); i++) {//定义窗口的大小,
// 每次都从字符串始端,开始滑动窗口
for (int j = 0; j <= str.size()-i; j++) //从最一开始提取窗口内的值。
{
string s = "";
//k<j+i的原因是k是从j开始枚举的。
for (int k = j; k < j+i && k <= str.size()-1; k++) {
s = str[k] + s;
}
ans[s]++;
}
}
cout << ans.size() << endl;
return 0;
}