#include <bits/stdc++.h>
using
namespace
std;
int
numberOfDifferentSubstrings(string s, string a,
string b)
{
int
ans = 0;
int
ls = s.size(), la = a.size(), lb = b.size();
int
x[ls] = { 0 }, y[ls] = { 0 };
for
(
int
i = 0; i < ls; i++) {
if
(s.substr(i, la) == a)
x[i] = 1;
if
(s.substr(i, lb) == b)
y[i] = 1;
}
unordered_set<string> hash;
string curr_substr =
""
;
for
(
int
i = 0; i < ls; i++) {
if
(x[i]) {
for
(
int
j = i; j < ls; j++) {
if
(!y[j])
curr_substr += s[j];
if
(y[j]) {
curr_substr += s.substr(j, lb);
if
(hash.find(curr_substr) == hash.end())
ans++;
hash.insert(curr_substr);
}
}
curr_substr =
""
;
}
}
return
ans;
}
int
main()
{
string s =
"codecppforfood"
;
string begin =
"c"
;
string end =
"d"
;
cout << numberOfDifferentSubstrings(s, begin, end)
<< endl;
return
0;
}