Edited by Ashlin Harris:
A certain number of grains is not necessarily a heap. For instance, they could be arranged in a row.
A heap it is something without any artful structure; when a heap gets any order it is already not a heap. An ordered structure can have elements removed one by one and still be the same(*) structure. If you take an element from a heap, it might become something different(**).
*but incomplete, at that time a heap is always complete to a heap.
**by the structure, or you can make a new heap.
Old poor version:
i named it "the method of the ordering elements"
all sets* contained more then 2 grains are the heaps. But possible to remove all grains from the heap and create the string on numerated grains that not a heap. 2 grains is the heap and is the string at the same time.
So, all that you need something that not a heap, but consists of same grains.
**one grain is not a heap and not a string, it is the single element of a set or string.