Go: package main

import (
	"bufio"
	"os"
	"strings"
	"strconv"
	"sort"
	"fmt"
)

var scanner = bufio.NewScanner(os.Stdin)

func main() {
	for scanner.Scan() {
		input := strings.Split(scanner.Text(), ",")
		cards := make([]int, 5)
		for i :=range input {
			cards[i], _ = strconv.Atoi(input[i])
		}
		sort.Sort(sort.IntSlice(cards))
		if cards[0] == cards[1] && cards[2] == cards[3] && cards[2] == cards[1] {
			fmt.Println("four card")
		} else if cards[1] == cards[2] && cards[3] == cards[4] && cards[3] == cards[2]{
			fmt.Println("four card")
		} else if cards[0] == cards[1] && cards[1] == cards[2] && cards[3] == cards[4] {
			fmt.Println("full house")
		} else if cards[0] == cards[1] && cards[2] == cards[3] && cards[3] == cards[4] {
			fmt.Println("full house")
		} else if cards[0] == 1 && cards[1] == 10 && cards[2] == 11 && cards[3] == 12 && cards[4] == 13 {
			fmt.Println("straight")
		} else if cards[0]+1 == cards[1] && cards[1]+1 == cards[2] && cards[2]+1 == cards[3] && cards[3]+1 == cards[4] {
			fmt.Println("straight")
		} else if (cards[0] == cards[1] && cards[1] == cards[2]) || (cards[1] == cards[2] && cards[2] == cards[3]) || (cards[2] == cards[3] && cards[3] == cards[4]) {
			fmt.Println("three card")
		} else if ((cards[0] == cards[1]) && ((cards[2] == cards[3]) || (cards[3] == cards[4]))) || ((cards[1] == cards[2]) && (cards[3] == cards[4])) {
			fmt.Println("two pair")
		} else if cards[0] == cards[1] || cards[1] == cards[2] || cards[2] == cards[3] || cards[3] == cards[4] {
			fmt.Println("one pair")
		} else {
			fmt.Println("null")
		}
	}
}

Python: import collections

def judge(card, cnt):
    nmax = cnt[0][1]
    if nmax == 4: return "four card"
    if nmax == 3: return "full house" if cnt[1][1] == 2 else "three card"
    if nmax == 2: return "two pair" if cnt[1][1] == 2 else "one pair"
    if (card[0] == 1 and list(range(10, 14)) == card[1:]) or list(range(card[0], card[0] + 5)) == card : return "straight"

    return "null"
while True:
    try:
        card = list(map(int, input().split(",")))
    except:
        break
    cnt = collections.Counter(card)
    print(judge(sorted(card), sorted(cnt.items(), key = lambda x:-x[1])))

Python: while True:
    try:
        A = sorted(list(map(int, input().split(","))))
        _sum = 0
        _max = 0
        for i in range(1,14):
            tmp = A.count(i)
            if tmp > 1:
                _sum+=tmp
            _max = max(_max, tmp)
        if _max == 4:
            print("four card")
        elif _max == 3 and _sum == 5:
            print("full house")
        elif A.count(1) == 1 and (A[0] == 1 and A[2]-1 == A[3]-2 == A[4]-3 == A[1]) \
            or (A[4] == 1 and A[1]-1 == A[2]-2 == A[3] == A[0]):
            print("straight")
        elif A[1]-1 == A[2]-2 == A[3]-3 == A[4]-4 == A[0]:
            print("straight")
        elif _max == 3:
            print("three card")
        elif _sum == 4:
            print("two pair")
        elif _max == 2:
            print("one pair")
        else:
            print("null")
    except:
        break

Python: from collections import Counter

ans = ["null","one pair","two pair","three card","straight","full house","four card"]
straits = [[i,i+1,i+2,i+3,i+4]for i in range(1,10)]
straits.append([1,10,11,12,13])

while(True):
    try:
        l = sorted(list(map(int,input().split(","))))
        v = sorted(list(Counter(l).values()))
        p = 0
        if v == [1,1,1,2]: p = 1
        elif v == [1,2,2]: p = 2
        elif v == [1,1,3]: p = 3
        elif l in straits: p = 4
        elif v == [2,3]: p = 5
        elif v == [1,4]: p = 6
        print(ans[p])
    except:
        break

Python: import sys

def check(cards):
    ones, twos, threes, fours = 0, 0, 0, 0
    for i in range(1, 14):
        c = cards.count(i)
        if c == 1: ones += 1
        elif c == 2: twos += 1
        elif c == 3: threes += 1
        elif c == 4: fours += 1
    
    if fours:
        return 'four card'
    if threes and twos:
        return 'full house'
    if ones == 5:
        for i, v in enumerate(cards[:-1]):
            if not v == cards[i + 1] - 1:
                break
        else: return 'straight'
        if cards == [1, 10, 11, 12, 13]:
            return 'straight'
    if threes:
        return 'three card'
    if twos == 2:
        return 'two pair'
    if twos:
        return 'one pair'
    return 'null'

def solve():
    for line in sys.stdin:
        cards = sorted(map(int, line.split(',')))
        print(check(cards))

if __name__ == "__main__":
    solve()

Python: def function(a,b,c,d,e):
	A=[a,b,c,d,e]
	A.sort()
	#4card
	if A[0]==A[1]==A[2]==A[3] or A[1]==A[2]==A[3]==A[4]:
		print("four card")
	#Full house
	elif (A[0]==A[1] and A[2]==A[3]==A[4]) or (A[0]==A[1]==A[2] and A[3]==A[4]):
		print("full house")
	#straight A?????????
	elif A[0]==1 and A[1]==10 and A[2]==11 and A[3]==12 and A[4]==13:
		print("straight")
	#straight A???????????????
	elif A[0]==A[1]-1==A[2]-2==A[3]-3==A[4]-4:
		print("straight")
	#threee
	elif A[0]==A[1]==A[2] or A[1]==A[2]==A[3] or A[2]==A[3]==A[4]:
		print("three card")
	elif (A[0]==A[1] and A[2]==A[3]) or (A[1]==A[2] and A[3]==A[4]):
		print("two pair")
	elif A[0]==A[1] or A[1]==A[2] or A[2]==A[3] or A[3]==A[4]:
		print("one pair")
	else:
		print("null")

while True:
	try:
		a,b,c,d,e=map(int,input().split(','))
		function(a,b,c,d,e)
	except EOFError:
		break

Python: from collections import Counter

while True:
    try:
        card = list(map(int, input().split(",")))

    except:
        break

    counter = Counter(card)
    mc = counter.most_common()
    if len(mc) == 2:
        if mc[0][1] == 4:
            print("four card")
        else:
            print("full house")
    elif len(mc) == 3:
        if mc[0][1] == 3:
            print("three card")
        else:
            print("two pair")
    elif len(mc) == 4:
        print("one pair")
    else:
        t = sorted([mc[i][0] for i in range(len(mc))])
        if t[4]-t[3] == t[3]-t[2] == t[2]-t[1] and \
            (t[1]-t[0] or (t[0] == 1 and t[4] == 13)):
            print("straight")
        else:
            print("null")

Python: from collections import Counter

#カードを引数に取って答えを出力する
def put_ans(cards):
  cards.sort()

  #10 ~ Aのストレート
  if cards == [1, 10, 11, 12, 13]:
    print("straight")
    return

  #それ以外のストレート
  for i in range(1,len(cards)):
    if cards[i] - cards[i - 1] != 1:
      break
  else:
    print("straight")
    return
  
  #result...カードの枚数の降順リスト
  result = [t[1] for t in Counter(cards).most_common()]

  if result == [1,1,1,1,1]:
    print("null")
  if result == [2,1,1,1]:
    print("one pair")
  if result == [2,2,1]:
    print("two pair")
  if result == [3,1,1]:
    print("three card")
  if result == [3, 2]:
    print("full house")
  if result == [4, 1]:
    print("four card")

def main():
  while True:
    try:
      cards = list(map(int, input().split(",")))
      put_ans(cards)
  
    except EOFError:
      break

main()