function! s:output() let this = {'lines': []} function! this.append(line) abort call add(self.lines, a:line) endfunction function! this.build() abort return join(self.lines, "\n") endfunction return this endfunction function! s:main(input) abort let o = s:output() let [a, b] = split(a:input[0], ' ') let a_i = len(a) == 1 ? str2nr(a) : 100 let b_i = len(b) == 1 ? str2nr(b) : 100 let r = 'P' if a_i < 2 || b_i < 2 let r = 'S' endif if (a_i == 2 && b_i == 2) || (a_i == 0 && b_i == 0) let r = 'E' endif call o.append(r) return o.build() endfunction let s:input = getline(1, '$') enew put =s:main(s:input) 2,$print