#!/usr/bin/python
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

import sys, os
try:
	from portage.versions import pkgsplit
except ImportError:
	from os import path as osp
	sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
	from portage.versions import pkgsplit

a=pkgsplit(sys.argv[1])
if a:
	print a[0],a[1],a[2][1:]
	sys.exit(0)
else:
	print '!!! Error: package name is invalid.'
	sys.exit(1)
