Problem:
Score : 100 points

Problem Statement

There are S sheep and W wolves.

If the number of wolves is greater than or equal to that of sheep, the wolves will attack the sheep.

If the wolves will attack the sheep, print unsafe; otherwise, print safe.

Constraints

1 \leq S \leq 100

1 \leq W \leq 100

Input

Input is given from Standard Input in the following format:

S W

Output

If the wolves will attack the sheep, print unsafe; otherwise, print safe.

Sample Input 1

4 5

Sample Output 1

unsafe

There are four sheep and five wolves. The number of wolves is not less than that of sheep, so they will attack them.

Sample Input 2

100 2

Sample Output 2

safe

Many a sheep drive away two wolves.

Sample Input 3

10 10

Sample Output 3

unsafe

Solution in Go (1.14.1) (judge verdict: Wrong Answer)

package main

import (
	"fmt"
	"math"
	"strconv"
)

var memo = map[int]int{}
var S string

func main() {
	fmt.Scan(&S)
	memo[len(S)] = 0
	var res int
	for i := len(S); i >= 0; i-- {
		for j := i - 3; j >= 0; j-- {
			t1 := calc(j)
			t2 := calc(i)
			if (t1-t2)%2019 == 0 {
				res++
			}
		}
	}

	fmt.Printf("%d", res)
}

func calc(i int) int {
	if v, ok := memo[i]; ok {
		return v
	}
	a, _ := strconv.Atoi(string(S[i]))
	p := len(S) - i
	memo[i] = ((a * int(math.Pow10(p-1))) + calc(i+1)) % 2019
	return memo[i]
}