Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- import "os"
- import "bufio"
- import "strconv"
- var reader = bufio.NewReaderSize(os.Stdin, int(1e+7))
- var writer = bufio.NewWriter(os.Stdout)
- var buffer []byte
- func main() {
- defer writer.Flush()
- }
- /// Fast functions read
- func nextString() string {
- var begin int
- var index int = 0
- var token bool = false
- for index < len(buffer) {
- if buffer[index] == ' ' {
- if token {
- break
- }
- } else {
- if !token {
- begin = index
- token = true
- }
- }
- index++
- }
- if !token {
- var err error
- buffer, _, err = reader.ReadLine()
- if err != nil {
- panic(err)
- }
- return nextString()
- }
- result := string(buffer[begin:index])
- buffer = buffer[index:]
- return result
- }
- func nextInt() int {
- ret, _ := strconv.Atoi(nextString())
- return ret
- }
- func nextInt64() int64 {
- ret, _ := strconv.ParseInt(nextString(), 10, 64)
- return ret
- }
- func nextFloat() float64 {
- ret, _ := strconv.ParseFloat(nextString(), 64)
- return ret
- }
- func debug(a ...interface{}) {
- fmt.Fprintln(os.Stderr, a...)
- }
- func debugf(format string, a ...interface{}) {
- fmt.Fprintf(os.Stderr, format, a...)
- }
- func print(a ...interface{}) {
- fmt.Fprint(writer, a...)
- }
- func println(a ...interface{}) {
- fmt.Fprintln(writer, a...)
- }
- func printf(format string, a ...interface{}) {
- fmt.Fprintf(writer, format, a...)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement