// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

func quote1() {
	println("Obfuscate the pancakes!")
	println()
}

func quote2() {
	println("From the label of a secure disk: Nemo me impune accessit")
	println()
}

func quote3() {
	println("MY SENSORS INDICATE TRACE AMOUNTS OF CHOCOLATE IN THE PANTRY.  PLEASE LOAD")
	println("SOME IN MY SCOOP FOR ANALYSIS.")
	println("No, you'll spoil your appetite.")
	println("MY MISSION MUST NOT FAIL.  PREPARE FOR ANNIHILATION, PITIFUL EARTH FEMALE.")
	println()
}

func quote4() {
	println("Never send a bunny to do a duck's job.")
	println()
}

func main() {
	quote1()
	quote2()
	quote3()
	quote4()
}
