222118bb729f495b6ef9a936db9238e3b2fbd10e9b8b2ab5069c0d36d5cba5eb
// https://szkopul.edu.pl/problemset/problem/0zPKHCR0LnWRqx-IQl07R3HC/site/?key=statement
// Łazik kosmiczny
#include <bits/stdc++.h>
// using namespace std;
// #define GARY_DBG
#define GARY_LIB
#define int long long
constexpr int sizik = 1000 * 1001;
#define ar std::array
#define pr std::pair
#define vec std::vector
typedef vec<vec<int>> _kra;
void solve() {
int n, m;
std::cin >> n >> m;
if (n == 1) {
std::cout << "1\nP\n";
return;
}
if (m == 1) {
std::cout << "1\nD\n";
return;
}
int g = std::gcd(n, m);
if (g == 1) {
std::cout << "2\nPD\n";
return;
}
int p = -1;
for (int i = 1; i < g; i++) {
if (std::gcd(m, i) == 1 && std::gcd(n, g - i) == 1) {
p = i;
break;
}
}
if (p == -1) {
std::cout << g << '\n';
std::string s1 = "DDDDDPGGPPPGLGPP";
std::string s2 = "LLLLLGPPGGGPDPGG";
std::string s3 = "DDDDDDDDDDDDDDDDDPDLDP";
std::string s4 = "LLLLLLLLLLLLLLLLLGLDLG";
if (g == 16) {
if (n % 5 == 0) {
std::cout << s1 << '\n';
} else {
std::cout << s2 << '\n';
}
} else if (g == 22) {
if (n % 5 == 0) {
std::cout << s3 << '\n';
} else {
std::cout << s4 << '\n';
}
}
return;
}
std::cout << g << '\n';
for (int i = 0; i < p; i++) {
std::cout << "P";
}
for (int i = p; i < g; i++) {
std::cout << "D";
}
std::cout << '\n';
}
int32_t main() {
#ifndef GARY_DBG
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
#endif
int t = 1;
// std::cin >> t;
for (; t > 0; t--) {
solve();
}
return 0;
}