package main import ( "fmt" "strconv" "bufio" "os" "strings" ) func main() { var K = nextInt() var primes = []int{2, 3, 5, 7, 11, 13} var composite = []int{4, 6, 8, 9, 10, 12} var count = 0.0 for _, v1 := range (primes) { for _, v2 := range (composite) { if v1*v2 == K { count++ } } } fmt.Println(count / 36.0) } var s = bufio.NewScanner(os.Stdin) func next() string { s.Split(bufio.ScanWords) s.Scan() return s.Text() } func nextLine() string { s.Split(bufio.ScanLines) s.Scan() return s.Text() } func nextInt() int { i, e := strconv.Atoi(next()) if e != nil { panic(e) } return i } func nextLong() int64 { i, e := strconv.ParseInt(next(), 10, 64) if e != nil { panic(e) } return i } func mapToInt(arr []string) []int { ret := make([]int, len(arr)) for i := 0; i < len(arr); i++ { var err error ret[i], err = strconv.Atoi(arr[i]) if err != nil { panic(err) } } return ret } func max(a int, b int) int { if a < b { return b } return a } func min(a int, b int) int { if a < b { return a } return b } func PrintI(args ...int) { fmt.Println(strings.Join(mapToString(args), " ")) } func mapToString(arr []int) []string { ret := make([]string, len(arr)) for i := 0; i < len(arr); i++ { ret[i] = strconv.Itoa(arr[i]) } return ret }