# HackerRank itertools.permutations() solution in Python | python problem solution

itertools.permutations(iterable[, r])

This tool returns successive  length permutations of elements in an iterable.

If  is not specified or is `None`, then  defaults to the length of the iterable, and all possible full length permutations are generated.

Permutations are printed in a lexicographic sorted order. So, if the input iterable is sorted, the permutation tuples will be produced in a sorted order.

Sample Code

``>>> from itertools import permutations>>> print permutations(['1','2','3'])<itertools.permutations object at 0x02A45210>>>> >>> print list(permutations(['1','2','3']))[('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'), ('2', '3', '1'), ('3', '1', '2'), ('3', '2', '1')]>>> >>> print list(permutations(['1','2','3'],2))[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')]>>>>>> print list(permutations('abc',3))[('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')]``

You are given a string .
Your task is to print all possible permutations of size  of the string in lexicographic sorted order.

Input Format

A single line containing the space separated string  and the integer value .

Constraints

The string contains only UPPERCASE characters.

Output Format

Print the permutations of the string  on separate lines.

Sample Input

``HACK 2``

Sample Output

``ACAHAKCACHCKHAHCHKKAKCKH``

Explanation

All possible size  permutations of the string “HACK” are printed in lexicographic sorted order.

## Problem solution in Python 2 programming.

`from itertools import permutationsS,k = raw_input().split()k = int(k)print 'n'.join(sorted(''.join(p) for p in permutations(S,k)))`

## Problem solution in Python 3 programming.

`# Enter your code here. Read input from STDIN. Print output to STDOUTfrom itertools import permutationss,n = input().split()print(*[''.join(i) for i in permutations(sorted(s),int(n))],sep='n')`

### Problem solution in pypy programming.

`# Enter your code here. Read input from STDIN. Print output to STDOUTfrom itertools import permutationsstring_number = raw_input().split()string = string_number[0]number = map(int, string_number[1])for elem in sorted(list(permutations(string, number[0]))):    n = len(elem)    elem_print = ""    for i in range(0, n):             elem_print+=elem[i]    print elem_print`

### Problem solution in pypy3 programming.

`# Enter your code here. Read input from STDIN. Print output to STDOUTimport itertoolsll, n = input().split()for i in itertools.permutations(sorted(ll),int(n)):    print("".join(i))`