For this Question: Given are two strings S and T.
Let us change some of the characters in S so that T will be a substring of S.
At least how many characters do we need to change?

Here, a substring is a consecutive subsequence. For example, xxx is a substring of yxxxy, but not a substring of xxyxx.The input consists of two strings separated by a line.
S
T

<b>Constraints</b>
1 <= |S|, |T| <= 1000
S and T consist of lowercase English letters.Print the minimum number of characters in S that need to be changed.<b>Sample Input 1</b> 
cabacc
abc
<b>Sample Output 1</b> 
1

<b>Sample Input 2</b> 
codeforces
atcoder
<b>Sample Output 2</b> 
6, I have written this Solution Code: #include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
	string S, T;
	cin >> S >> T;
	//Initialize ans with a temporal value.
	//This value should be large enough; otherwise you will get wrong answer
	//Make sure that the value will lead to the correct answer.
	int ans = T.size();
	//Brute force through all initial position in S
	for (int start = 0; start <= S.size() - T.size(); start++)
	{
		int diff = 0;
		for (int i = 0; i < T.size(); i++)
		{
			if (T[i] != S[start + i]) {
				diff++;
			}
		}
		ans = min(ans, diff);
	}
	cout << ans << endl;
}
, In this Programming Language: C++, Now tell me if this Code is compilable or not?