using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Threading; using Pair = System.Collections.Generic.KeyValuePair; class Program { public Program() { } static void Main(string[] args) { new Program().prog(); } Scanner cin; const int MOD = 1000000007; const int INF = int.MaxValue - 10; const long INFL = long.MaxValue - 10; const double EPS = 1e-7; const double PI = 3.1415926536; void prog() { cin = new Scanner(); int[,] dir8 = new int[8, 2] { { -1, -1 }, { -1, 0 }, { -1, 1 }, { 0, -1 }, { 0, 1 }, { 1, -1 }, { 1, 0 }, { 1, 1 } }; int[,] dir4 = new int[4, 2] { { -1, 0 }, { 0, -1 }, { 0, 1 }, { 1, 0 } }; string A = cin.next(); string B = cin.next(); if (A == "0") { if (B == "0") { Console.WriteLine("E"); } else { Console.WriteLine("S"); } } else if (B == "0") { Console.WriteLine("S"); } else if (A == "1" || B == "1") { Console.WriteLine("S"); } else if (A == "2" && B == "2") { Console.WriteLine("E"); } else { Console.WriteLine("P"); } } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string next() { if (i < s.Length) return s[i++]; string st = Console.ReadLine(); while (st == "") st = Console.ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return next(); } public int nextInt() { return int.Parse(next()); } public long nextLong() { return long.Parse(next()); } public double nextDouble() { return double.Parse(next()); } }