ვაშლების დარიგება

დროის ლიმიტი: 1 წმ

მეხსიერების ლიმიტი: 64 მეგაბაიტი

შემავალი მონაცემები: stdin

გამომავალი მონაცემები: stdout

წყარო: COCI, 2008/09, #5


მირკოს აქვს R წითელი და G მწვანე ვაშლი. მას სურს, რომ ეს ვაშლები მთლიანად დაურიგოს თავის მეგობრებს, რადგან თვითონ ვაშლები არ უყვარს. მირკოს სურს, რომ მისმა მეგობრებმა თანაბრად მიიღონ როგორც წითელი, ისე მწვანე ვაშლები. მაგალითად, თუ მას აქვს 4 წითელი და 8 მწვანე ვაშლი, ვაშლების დარიგება სამნაირად შეუძლია:

1. ერთი მეგობარი მიიღებს 4 წითელ და 8 მწვანე ვაშლს;

2. ორი მეგობარი მიიღებს 2-2 წითელ და 4-4 მწვანე ვაშლს;

3. ოთხი მეგობარი მიიღებს თითო წითელ და 2-2 მწვანე ვაშლს.

დაწერეთ პროგრამა, რომელიც გამოიტანს მირკოს მიერ ვაშლების დარიგების ყველა ვარიანტს. ჩათვალეთ,, რომ მირკოს მეგობრების უსასრულო რაოდენობა ჰყავს.

შესატანი მონაცემები: ერთადერთ სტრიქონში ორი მთელი რიცხვი R და G (1 ≤ R, G ≤ 1 000 000 000), წითელი და მწვანე ვაშლების რაოდენობა.

გამოსატანი მონაცემები: ყველა შესაძლო ვარიანტისათვის თითო სტრიქონში სამი მთელი რიცხვი - N, X და Y, სადაც N მეგობრების რაოდენობაა, X - ერთი მეგობრისათვის გადაცემული წითელი ვაშლების რაოდენობა და Y - ერთი მეგობრისათვის გადაცემული მწვანე ვაშლების რაოდენობა. პასუხები გამოიტანეთ მეგობრების რაოდენობის ზრდის მიხედვით.




მაგალითები

შესატანი მონაცემები
4 8 დაკოპირება
გამოსატანი მონაცემები
1 4 8 2 2 4 4 1 2 დაკოპირება
შესატანი მონაცემები
15 12 დაკოპირება
გამოსატანი მონაცემები
1 15 12 3 5 4 დაკოპირება
შესატანი მონაცემები
42 105 დაკოპირება
გამოსატანი მონაცემები
1 42 105 3 14 35 7 6 15 21 2 5 დაკოპირება