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: from itertools import permutations
import sys
import os

def inini(_card):
    for i in range(len(_card)):
        _card[i] = 0


def main():
    for s in sys.stdin:
            card = 14*[0]
            inini(card)
            number = list(map(int,s.split(',')))
            for v in number:
                card[v] += 1
            one_pair = 0
            tree_card = 0
            four_card = 0
            for value in sorted(set(number),key=number.index):
                if card[value] == 2:
                    one_pair += 1
                elif card[value] == 3:
                    tree_card += 1
                elif card[value] == 4:
                    four_card += 1
            number.sort()
            if one_pair == 1 and tree_card ==1:
                print('full house')       
            elif one_pair == 1:
                print('one pair') 
            elif one_pair == 2:
                print('two pair')
            elif tree_card == 1:
                print('three card')   
            elif four_card == 1:
                print('four card')
            elif number[0] == number[1]-1 == number[2]-2 == number[3]-3 == number[4]-4:
                print('straight')
            elif number[0] == 1 and number[1] == 10 and number[2] == 11 and number[3] == 12 and number[4] == 13:
                print('straight')
            else:
                print('null')
                
            

       
if __name__ == '__main__':
    main()

Python: def isstraight(cs):
    if 1 in cs:
        if cs==[1,2,3,4,5] or cs==[1,10,11,12,13]:
            return True
        else:
            return False
    else:
        for i in range(len(cs)-1):
            if cs[i+1]!=cs[i]+1:
                return False
        return True

while 1:
    try:
        c= list(map(int, input().split(',')))
    except:
        break
    l= [c.count(i) for i in set(c)]
    ans= {7: "four card", 6: "full house", 5: "straight", 4: "three card", 3: "two pair", 2: "one pair", 1: "null"}
    if len(set(c))==5:
        v= 5 if isstraight(sorted(c)) else 1
    else:
        v= 7 if 4 in l else(6 if 3 in l and 2 in l else(4 if 3 in l else(3 if l.count(2)==2 else 2)))
    print(ans[v])

Python: while 1:
	try: p=sorted(list(map(int,input().split(','))))
	except: break
	if (p[0] == p[2] and p[3] == p[4]) or (p[0] == p[1] and p[2] == p[4]):
		print('full house')
	elif p[0] == p[2] or p[1] == p[3] or p[2] == p[4]:
		print('three card')
	elif (p[0] == p[1] and p[2] == p[3]) or (p[1] == p[2] and p[3] == p[4]):
		print('two pair')
	elif (p[0] == p[3]) or (p[1] == p[4]): 
		print('four card')
	elif p[0] == p[1] or p[1] == p[2] or p[2] == p[3] or p[3] == p[4]:
		print('one pair')
	elif (p[0] == p[1]-1 and p[1] == p[2]-1 and p[2] == p[3]-1 and p[3] == p[4]-1 and p[4] == p[3]+1) or (p[0] == 1 and p[1] == 10 and p[2] == 11 and p[3] == 12 and p[4] == 13):
		print('straight')
	else:
		print('null')

Python: def yaku(N):
    n=N[0]
    li=[]
    for i in range(5):
        li.append(n)
        n +=1
    if N==li or N==[1,10,11,12,13]:
        print("straight")
        return
    mp={}
    count_2=0
    count_3=0
    for i in N:
        if i in mp:
            mp[i] +=1
        else:
            mp[i]=1
    co=0
    for k,v in mp.items():
        if v!=1:
            if v==2:
                count_2 +=1
            elif v==3:
                count_3 +=1
            else:
                print("four card")
                return
        else:
            co +=1
            if co==5:
                print("null")
                return
    if count_2==1 and count_3==1:
        print("full house")
    elif count_3==1:
        print("three card")
    elif count_2==2:
        print("two pair")
    elif count_2==1:
        print("one pair")
        
while True:
    try:
        N=sorted(list(map(int,input().split(","))))
        yaku(N)
    except:break

Python: while True:
    try:
        rawhand = input().split(",")
        hand = [0]*14
        for card in rawhand:
            if card =="A" : hand[1] += 1
            elif card =="J" : hand[11] += 1
            elif card =="Q" : hand[12] += 1
            elif card =="K" : hand[13] += 1
            else: hand[int(card)] += 1
        pairs = 0
        three = False
        four = False
        minone = 0
        for i in range(14):
            ranks = hand[i]
            if ranks == 1 and minone == 0: minone = i
            elif ranks == 2: pairs += 1
            elif ranks == 3: three = True
            elif ranks == 4: four = True; break

        straight = hand[minone]==1 and hand[minone+1]==1 and hand[minone+2]==1 and hand[minone+3]==1 and hand[minone+4]==1
        straight = straight or (hand[1]==1 and hand[10]==1 and hand[11]==1 and hand[12]==1 and hand[13]==1)

        if four: print("four card")
        elif three and pairs == 1: print("full house")
        elif straight: print("straight")
        elif three: print("three card")
        elif pairs == 2: print("two pair")
        elif pairs == 1: print("one pair")
        else: print("null")
    except EOFError:
        break