#include <iostream>
using namespace std;
// Function to check if X can be derived from Y by rotating it
bool check(string X, string Y)
{
return (X.length() == Y.length()) && ((X + X).find(Y) != string::npos);
}
int main()
{
string X = "ABCD";
string Y = "DABC";
if (check(X, Y))
cout << "Given strings can be derived from each other";
else
cout << "Given strings cannot be derived from each other";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgWCBjYW4gYmUgZGVyaXZlZCBmcm9tIFkgYnkgcm90YXRpbmcgaXQKYm9vbCBjaGVjayhzdHJpbmcgWCwgc3RyaW5nIFkpCnsKICAgIHJldHVybiAoWC5sZW5ndGgoKSA9PSBZLmxlbmd0aCgpKSAmJiAoKFggKyBYKS5maW5kKFkpICE9IHN0cmluZzo6bnBvcyk7Cn0KCmludCBtYWluKCkgCnsKICAgIHN0cmluZyBYID0gIkFCQ0QiOwogICAgc3RyaW5nIFkgPSAiREFCQyI7CiAgICAKICAgIGlmIChjaGVjayhYLCBZKSkKICAgICAgICBjb3V0IDw8ICJHaXZlbiBzdHJpbmdzIGNhbiBiZSBkZXJpdmVkIGZyb20gZWFjaCBvdGhlciI7CiAgICBlbHNlIAogICAgICAgIGNvdXQgPDwgIkdpdmVuIHN0cmluZ3MgY2Fubm90IGJlIGRlcml2ZWQgZnJvbSBlYWNoIG90aGVyIjsKCiAgICByZXR1cm4gMDsKfQo=