- #include <bits/stdc++.h> 
- using namespace std; 
- #define ll long long 
- #define IMX INT_MAX 
- #define IMN INT_MIN 
- int discard; //you can access string length using the function 
- string str1, str2, temp; 
- int main () { 
-     cin >> discard >> discard >> str1 >> str2; 
-     if (str1.length() > str2.length()) {//if str1 is not the shorter one, make it the shorter one by switching 
-         temp = str2; 
-         str2 = str1; 
-         str1 = temp; 
-     } 
-     for (int size = str1.length(); size >= 1; size--) { //backwards length checking 
-         for (int j = 0; j <= str1.length() - size; j++) { //start position 
-             temp = str1.substr(j, size); //the substring 
-             if (str2.find(temp) != string::npos) { //if the substring works, it is the largest 
-                 cout << "The longest common substring: " << temp; //output and end program 
-                 return 0; 
-             } 
-         } 
-     } 
-     cout << "No Common Substring"; 
-     return 0; 
- } 
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgSU1YIElOVF9NQVgKI2RlZmluZSBJTU4gSU5UX01JTgppbnQgZGlzY2FyZDsgLy95b3UgY2FuIGFjY2VzcyBzdHJpbmcgbGVuZ3RoIHVzaW5nIHRoZSBmdW5jdGlvbgpzdHJpbmcgc3RyMSwgc3RyMiwgdGVtcDsKaW50IG1haW4gKCkgewogICAgY2luID4+IGRpc2NhcmQgPj4gZGlzY2FyZCA+PiBzdHIxID4+IHN0cjI7CiAgICBpZiAoc3RyMS5sZW5ndGgoKSA+IHN0cjIubGVuZ3RoKCkpIHsvL2lmIHN0cjEgaXMgbm90IHRoZSBzaG9ydGVyIG9uZSwgbWFrZSBpdCB0aGUgc2hvcnRlciBvbmUgYnkgc3dpdGNoaW5nCiAgICAgICAgdGVtcCA9IHN0cjI7CiAgICAgICAgc3RyMiA9IHN0cjE7CiAgICAgICAgc3RyMSA9IHRlbXA7CiAgICB9CiAgICBmb3IgKGludCBzaXplID0gc3RyMS5sZW5ndGgoKTsgc2l6ZSA+PSAxOyBzaXplLS0pIHsgLy9iYWNrd2FyZHMgbGVuZ3RoIGNoZWNraW5nCiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPD0gc3RyMS5sZW5ndGgoKSAtIHNpemU7IGorKykgeyAvL3N0YXJ0IHBvc2l0aW9uCiAgICAgICAgICAgIHRlbXAgPSBzdHIxLnN1YnN0cihqLCBzaXplKTsgLy90aGUgc3Vic3RyaW5nCiAgICAgICAgICAgIGlmIChzdHIyLmZpbmQodGVtcCkgIT0gc3RyaW5nOjpucG9zKSB7IC8vaWYgdGhlIHN1YnN0cmluZyB3b3JrcywgaXQgaXMgdGhlIGxhcmdlc3QKICAgICAgICAgICAgICAgIGNvdXQgPDwgIlRoZSBsb25nZXN0IGNvbW1vbiBzdWJzdHJpbmc6ICIgPDwgdGVtcDsgLy9vdXRwdXQgYW5kIGVuZCBwcm9ncmFtCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgIk5vIENvbW1vbiBTdWJzdHJpbmciOwogICAgcmV0dXJuIDA7Cn0=