package main

import (
	"fmt"
	"time"
	"math/rand"
	"sort"
)

const ARRAY_LENGTH = 100

func f(n int, r chan int) {
	time.Sleep(time.Duration(n) * time.Millisecond)
	r <- n
}

func main() {
	a := []int{}
	for i:=0; i<ARRAY_LENGTH; i++ {
		a = append(a, rand.Intn(ARRAY_LENGTH * 100))
	}
	
	r := make(chan int)

	for _, i := range a {
		go f(i, r)
	}
	
	b := []int{}
	for _ = range a {
		b = append(b, <-r)
	}
	
	fmt.Println("is sorted?", sort.IntsAreSorted(b))
}