Some trading cards have real value and can be sold for money. Bending the cards is frowned upon because it takes away their value and makes them look less new. Say you have a deck of trading cards (Pokemon, Magic, etc.) and you want to shuffle them. Instead of doing the bridge that bends all of the cards, another simple way to shuffle cards is to put them into piles. Here's what I mean.
Background
With a 60 card deck in need of shuffling, you could separate the 60 cards into three piles of 20 cards. There are multiple ways to do this, the most plain being to put a card into pile A, then one into pile B, then one into pile C. Another way is to put a card into pile C, then B, then A. There are also ways to spread the cards across the piles unevenly. Here's one: put a card in pile A, put another card in A, then put a card in pile B, then put a card in pile C.
Challenge
Create a full program that will output even
if a certain way to shuffle into piles spreads the cards in the piles evenly, and outputs uneven
and the number of cards in each pile otherwise.
Input
Input will be taken through STDIN or the closest alternative (no functions).
[sequence] [deck size]
sequence
is a string of characters. It tells the pattern the cards are laid down into the piles. Each different character corresponds to a single pile. This string will always be under the deck size and will contain only capital letters A-Z.deck size
is an integer that specifies how many cards are in the deck. If deck size is 60, the number of cards in the deck is 60.
Output
even
If the number of cards in each pile at the end of the shuffle are the same, your program should output this.
uneven [pile1] [pile2] [...]
If the number cards in each pile at the end of the shuffles are the not the same, your program should output uneven
and the number of cards in each pile like this: uneven 20 30
if pile A contains 20 canrds and pile B contains 30. The order of the pile numbers does not matter.
Other information
- This is a code golf challenge, so the shortest code in bytes on September 25 wins. If there is a tie in byte counts, the code that was submitted first wins.
- Your program must be a program, not a function.
- If possible, please include a link to an online interpreter or a link to a place where I can download an interpreter for your language in your answer.
- Anything I do not specify within this challenge is fair game, meaning if I don't say it, it's up to you. If anything is vague, tell me and I will edit the answer accordingly. (Hopefully this goes more smoothly than my last challenge.)
Examples
Input | Output | Alternate outputs (if uneven)
|
ABC 30 | even
ABC 31 | uneven 11 10 10 | uneven 10 11 10 | uneven 10 10 11
BCA 60 | even
BBA 24 | uneven 8 16 | uneven 16 8
ABACBC 120 | even
BBABA 50 | uneven 20 30 | uneven 30 20
AABBB 12 | even
sequence
looks like or how it works. Could you please add some test cases? \$\endgroup\$:P
\$\endgroup\$ABDD 12
a valid input? What should be the output? Also, do I understand right thatAABBB 12
is even? \$\endgroup\$