// Copyright 2009 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

import (
	"os";
	"flag";  // command line option parser
)

var omitNewline = flag.Bool("n", false, "don't print final newline")

const (
	Space = " ";
	Newline = "\n";
)

func main() {
	flag.Parse();   // Scans the arg list and sets up flags
	var s string = "";
	for i := 0; i < flag.NArg(); i++ {
		if i > 0 {
			s += Space
		}
		s += flag.Arg(i)
	}
	if !*omitNewline {
		s += Newline
	}
	os.Stdout.WriteString(s);
}
