#include <algorithm>
#include <iostream>
#include <random>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class Card
{
private :
string suit;
string value;
public :
Card( ) = default ;
Card( string a, string b)
{
value = a;
suit = b;
}
string getSuit( )
{
return suit;
}
string getValue( )
{
return value;
}
void print( )
{
cout << getValue( ) << " of " << getSuit( ) << endl;
}
void shuffle( Card cardlist[ 52 ] , int size)
{
}
} ;
int main( )
{
Card cardlist[ 52 ] ;
cardlist[ 0 ] = Card( "2" ,"Spades" ) ;
cardlist[ 1 ] = Card( "3" ,"Spades" ) ;
cardlist[ 2 ] = Card( "4" ,"Spades" ) ;
cardlist[ 3 ] = Card( "5" ,"Spades" ) ;
cardlist[ 4 ] = Card( "6" ,"Spades" ) ;
cardlist[ 5 ] = Card( "7" ,"Spades" ) ;
cardlist[ 6 ] = Card( "8" ,"Spades" ) ;
cardlist[ 7 ] = Card( "9" ,"Spades" ) ;
cardlist[ 8 ] = Card( "10" ,"Spades" ) ;
cardlist[ 9 ] = Card( "Jack" ,"Spades" ) ;
cardlist[ 10 ] = Card( "Queen" ,"Spades" ) ;
cardlist[ 11 ] = Card( "King" ,"Spades" ) ;
cardlist[ 12 ] = Card( "Ace" ,"Spades" ) ;
cardlist[ 13 ] = Card( "2" ,"Hearts" ) ;
cardlist[ 14 ] = Card( "3" ,"Hearts" ) ;
cardlist[ 15 ] = Card( "4" ,"Hearts" ) ;
cardlist[ 16 ] = Card( "5" ,"Hearts" ) ;
cardlist[ 17 ] = Card( "6" ,"Hearts" ) ;
cardlist[ 18 ] = Card( "7" ,"Hearts" ) ;
cardlist[ 19 ] = Card( "8" ,"Hearts" ) ;
cardlist[ 20 ] = Card( "9" ,"Hearts" ) ;
cardlist[ 21 ] = Card( "10" ,"Hearts" ) ;
cardlist[ 22 ] = Card( "Jack" ,"Hearts" ) ;
cardlist[ 23 ] = Card( "Queen" ,"Hearts" ) ;
cardlist[ 24 ] = Card( "King" ,"Hearts" ) ;
cardlist[ 25 ] = Card( "Ace" ,"Hearts" ) ;
cardlist[ 26 ] = Card( "2" ,"Diamonds" ) ;
cardlist[ 27 ] = Card( "3" ,"Diamonds" ) ;
cardlist[ 28 ] = Card( "4" ,"Diamonds" ) ;
cardlist[ 29 ] = Card( "5" ,"Diamonds" ) ;
cardlist[ 30 ] = Card( "6" ,"Diamonds" ) ;
cardlist[ 31 ] = Card( "7" ,"Diamonds" ) ;
cardlist[ 32 ] = Card( "8" ,"Diamonds" ) ;
cardlist[ 33 ] = Card( "9" ,"Diamonds" ) ;
cardlist[ 34 ] = Card( "10" ,"Diamonds" ) ;
cardlist[ 35 ] = Card( "Jack" ,"Diamonds" ) ;
cardlist[ 36 ] = Card( "Queen" ,"Diamonds" ) ;
cardlist[ 37 ] = Card( "King" ,"Diamonds" ) ;
cardlist[ 38 ] = Card( "Ace" ,"Diamonds" ) ;
cardlist[ 39 ] = Card( "2" ,"Clubs" ) ;
cardlist[ 40 ] = Card( "3" ,"Clubs" ) ;
cardlist[ 41 ] = Card( "4" ,"Clubs" ) ;
cardlist[ 42 ] = Card( "5" ,"Clubs" ) ;
cardlist[ 43 ] = Card( "6" ,"Clubs" ) ;
cardlist[ 44 ] = Card( "7" ,"Clubs" ) ;
cardlist[ 45 ] = Card( "8" ,"Clubs" ) ;
cardlist[ 46 ] = Card( "9" ,"Clubs" ) ;
cardlist[ 47 ] = Card( "10" ,"Clubs" ) ;
cardlist[ 48 ] = Card( "Jack" ,"Clubs" ) ;
cardlist[ 49 ] = Card( "Queen" ,"Clubs" ) ;
cardlist[ 50 ] = Card( "King" ,"Clubs" ) ;
cardlist[ 51 ] = Card( "Ace" ,"Clubs" ) ;
shuffle( begin( cardlist) , end( cardlist) , mt19937( random_device( ) ( ) ) ) ;
for ( int i = 0 ; i < 52 ; i++ )
cardlist[ i] .print ( ) ;
return 0 ;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmFuZG9tPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIENhcmQKewpwcml2YXRlOgogICAgc3RyaW5nIHN1aXQ7CiAgICBzdHJpbmcgdmFsdWU7CgpwdWJsaWM6CgogICAgIENhcmQoKSA9IGRlZmF1bHQ7CgogICAgQ2FyZChzdHJpbmcgYSwgc3RyaW5nIGIpCiAgICB7CiAgICAgICAgdmFsdWUgPSBhOwogICAgICAgIHN1aXQgPSBiOwogICAgfQoKICAgIHN0cmluZyBnZXRTdWl0KCkKICAgIHsKICAgICAgICByZXR1cm4gc3VpdDsKICAgIH0KCiAgICBzdHJpbmcgZ2V0VmFsdWUoKQogICAgewogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KCiAgICB2b2lkIHByaW50KCkKICAgIHsKICAgICAgICBjb3V0IDw8IGdldFZhbHVlKCkgPDwgIiBvZiAiIDw8IGdldFN1aXQoKSA8PCBlbmRsOwogICAgfQoKICAgIHZvaWQgc2h1ZmZsZShDYXJkIGNhcmRsaXN0WzUyXSwgaW50IHNpemUpCiAgICB7CgogICAgfQp9OwoKaW50IG1haW4oKQp7CgoKCiAgICBDYXJkIGNhcmRsaXN0WzUyXTsKCiAgICBjYXJkbGlzdFswXSA9IENhcmQoIjIiLCJTcGFkZXMiKTsKICAgIGNhcmRsaXN0WzFdID0gQ2FyZCgiMyIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbMl0gPSBDYXJkKCI0IiwiU3BhZGVzIik7CiAgICBjYXJkbGlzdFszXSA9IENhcmQoIjUiLCJTcGFkZXMiKTsKICAgIGNhcmRsaXN0WzRdID0gQ2FyZCgiNiIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbNV0gPSBDYXJkKCI3IiwiU3BhZGVzIik7CiAgICBjYXJkbGlzdFs2XSA9IENhcmQoIjgiLCJTcGFkZXMiKTsKICAgIGNhcmRsaXN0WzddID0gQ2FyZCgiOSIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbOF0gPSBDYXJkKCIxMCIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbOV0gPSBDYXJkKCJKYWNrIiwiU3BhZGVzIik7CiAgICBjYXJkbGlzdFsxMF0gPSBDYXJkKCJRdWVlbiIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbMTFdID0gQ2FyZCgiS2luZyIsIlNwYWRlcyIpOwogICAgY2FyZGxpc3RbMTJdID0gQ2FyZCgiQWNlIiwiU3BhZGVzIik7CiAgICBjYXJkbGlzdFsxM10gPSBDYXJkKCIyIiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxNF0gPSBDYXJkKCIzIiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxNV0gPSBDYXJkKCI0IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxNl0gPSBDYXJkKCI1IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxN10gPSBDYXJkKCI2IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxOF0gPSBDYXJkKCI3IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsxOV0gPSBDYXJkKCI4IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsyMF0gPSBDYXJkKCI5IiwiSGVhcnRzIik7CiAgICBjYXJkbGlzdFsyMV0gPSBDYXJkKCIxMCIsIkhlYXJ0cyIpOwogICAgY2FyZGxpc3RbMjJdID0gQ2FyZCgiSmFjayIsIkhlYXJ0cyIpOwogICAgY2FyZGxpc3RbMjNdID0gQ2FyZCgiUXVlZW4iLCJIZWFydHMiKTsKICAgIGNhcmRsaXN0WzI0XSA9IENhcmQoIktpbmciLCJIZWFydHMiKTsKICAgIGNhcmRsaXN0WzI1XSA9IENhcmQoIkFjZSIsIkhlYXJ0cyIpOwogICAgY2FyZGxpc3RbMjZdID0gQ2FyZCgiMiIsIkRpYW1vbmRzIik7CiAgICBjYXJkbGlzdFsyN10gPSBDYXJkKCIzIiwiRGlhbW9uZHMiKTsKICAgIGNhcmRsaXN0WzI4XSA9IENhcmQoIjQiLCJEaWFtb25kcyIpOwogICAgY2FyZGxpc3RbMjldID0gQ2FyZCgiNSIsIkRpYW1vbmRzIik7CiAgICBjYXJkbGlzdFszMF0gPSBDYXJkKCI2IiwiRGlhbW9uZHMiKTsKICAgIGNhcmRsaXN0WzMxXSA9IENhcmQoIjciLCJEaWFtb25kcyIpOwogICAgY2FyZGxpc3RbMzJdID0gQ2FyZCgiOCIsIkRpYW1vbmRzIik7CiAgICBjYXJkbGlzdFszM10gPSBDYXJkKCI5IiwiRGlhbW9uZHMiKTsKICAgIGNhcmRsaXN0WzM0XSA9IENhcmQoIjEwIiwiRGlhbW9uZHMiKTsKICAgIGNhcmRsaXN0WzM1XSA9IENhcmQoIkphY2siLCJEaWFtb25kcyIpOwogICAgY2FyZGxpc3RbMzZdID0gQ2FyZCgiUXVlZW4iLCJEaWFtb25kcyIpOwogICAgY2FyZGxpc3RbMzddID0gQ2FyZCgiS2luZyIsIkRpYW1vbmRzIik7CiAgICBjYXJkbGlzdFszOF0gPSBDYXJkKCJBY2UiLCJEaWFtb25kcyIpOwogICAgY2FyZGxpc3RbMzldID0gQ2FyZCgiMiIsIkNsdWJzIik7CiAgICBjYXJkbGlzdFs0MF0gPSBDYXJkKCIzIiwiQ2x1YnMiKTsKICAgIGNhcmRsaXN0WzQxXSA9IENhcmQoIjQiLCJDbHVicyIpOwogICAgY2FyZGxpc3RbNDJdID0gQ2FyZCgiNSIsIkNsdWJzIik7CiAgICBjYXJkbGlzdFs0M10gPSBDYXJkKCI2IiwiQ2x1YnMiKTsKICAgIGNhcmRsaXN0WzQ0XSA9IENhcmQoIjciLCJDbHVicyIpOwogICAgY2FyZGxpc3RbNDVdID0gQ2FyZCgiOCIsIkNsdWJzIik7CiAgICBjYXJkbGlzdFs0Nl0gPSBDYXJkKCI5IiwiQ2x1YnMiKTsKICAgIGNhcmRsaXN0WzQ3XSA9IENhcmQoIjEwIiwiQ2x1YnMiKTsKICAgIGNhcmRsaXN0WzQ4XSA9IENhcmQoIkphY2siLCJDbHVicyIpOwogICAgY2FyZGxpc3RbNDldID0gQ2FyZCgiUXVlZW4iLCJDbHVicyIpOwogICAgY2FyZGxpc3RbNTBdID0gQ2FyZCgiS2luZyIsIkNsdWJzIik7CiAgICBjYXJkbGlzdFs1MV0gPSBDYXJkKCJBY2UiLCJDbHVicyIpOwoKCXNodWZmbGUoYmVnaW4oY2FyZGxpc3QpLCBlbmQoY2FyZGxpc3QpLCBtdDE5OTM3KHJhbmRvbV9kZXZpY2UoKSgpKSk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1MjsgaSsrKQogICAgICAgIGNhcmRsaXN0W2ldLnByaW50KCk7CgogICAgcmV0dXJuIDA7Cn0=