using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var t = ReadLine().ToCharArray(); if (t[0] == '.') t[0] = 'G'; if (t[^1] == '.') t[^1] = 'S'; for (var i = 1; i + 1 < t.Length; ++i) if (t[i] == '.') { foreach (var ch in "SKG") { t[i] = ch; var flg = false; for (var b = i - 2; b <= i; ++b) { if (IsSKG(t, Math.Max(0, b), Math.Min(b + 2, t.Length - 1))) flg = true; } if (!flg) break; t[i] = '.'; } if (t[i] == '.') { WriteLine("No"); return; } } for (var i = 0; i + 2 < t.Length; ++i) { if (IsSKG(t, i, i + 2)) { WriteLine("No"); return; } } WriteLine("Yes"); WriteLine(string.Concat(t)); } static bool IsSKG(char[] t, int b, int e) { return e - b == 2 && t[b] == 'S' && t[b + 1] == 'K' && t[e] == 'G'; } }