For this Question: Given two strings X and Y containing both uppercase and lowercase alphabets. The task is to find the length of the longest common substring.Input consist of two lines containing the strings X and Y respectively.

1 <= length(X), length(Y) <= 100Print in a single line the length of the longest common substring of the two strings.Input
abcdgh
acdghr

Output
4

Example:
Testcase 1: cdgh is the longest substring present in both of the strings., I have written this Solution Code: /* Dynamic Programming solution to find length of the 
longest common substring */
#include<iostream> 
#include<string.h> 
using namespace std; 

int LCSubStr(string X, string Y, int m, int n) 
{ 
	// common suffix of X[0..i-1] and Y[0..j-1]. 

	int LCSuff[m+1][n+1]; 
	int result = 0; // To store length of the 
					// longest common substring 

	/* Following steps build LCSuff[m+1][n+1] in 
		bottom up fashion. */
	for (int i=0; i<=m; i++) 
	{ 
		for (int j=0; j<=n; j++) 
		{ 

			// The first row and first column 
			// entries have no logical meaning, 
			// they are used only for simplicity 
			// of program 
			if (i == 0 || j == 0) 
				LCSuff[i][j] = 0; 

			else if (X[i-1] == Y[j-1]) 
			{ 
				LCSuff[i][j] = LCSuff[i-1][j-1] + 1; 
				result = max(result, LCSuff[i][j]); 
			} 
			else LCSuff[i][j] = 0; 
		} 
	} 
	return result; 
} 

/* Driver program to test above function */
int main() 
{ 
	string X, Y;
	cin >> X >> Y;

	int m = X.length();
	int n = Y.length();

	cout << LCSubStr(X, Y, m, n); 
	return 0; 
} 
, In this Programming Language: C++, Now tell me if this Code is compilable or not?