এএসসিআইআই আর্ট কোড জেনারেটর


9

আমার একটি প্রোগ্রাম রয়েছে যা ব্রেইনফাক কোড ফর্ম্যাট করে। আমি আমার প্রোগ্রাম চালাচ্ছি

./example "S"

এবং আউটপুট হয়

 +[>+
<
 +++
    ]
>--.

যা ব্রেইনফাক এ এস প্রিন্ট করে।

আপনার উদ্দেশ্য হ'ল একটি প্রোগ্রাম লিখুন যা কোনও স্ট্রিংকে ইনপুট হিসাবে গ্রহণ করে এবং অন্য ভাষায় সোর্স কোড আউটপুট দেয় যা সেই স্ট্রিংটি মুদ্রণ করে।

  • আপনার প্রোগ্রামের আউটপুটগুলির উত্স কোডটি এমনভাবে ফর্ম্যাট করা উচিত যাতে এটি ASCII আর্টের স্ট্রিংকে উপস্থাপন করে (অনুভূমিকভাবে মুদ্রিত, উল্লম্বভাবে নয়)।
  • উত্স কোডটিতে স্ট্রিংটি থাকতে পারে না (এটি অবশ্য স্ট্রিংগুলিতে বর্ণগুলি ধারণ করে, কেবল ধারাবাহিকভাবে নয়)

তা না হলে,

দয়া করে আপনার জমা দেওয়ার শিরোনাম এটিতে যে ভাষায় লেখা আছে, যে ভাষাটি আউটপুট দেয় এবং মোট আকারের বাইট রয়েছে। আপনি যখন UNCOPYRIGHTABLE স্ট্রিংটি প্রবেশ করবেন তখন দয়া করে আপনার প্রোগ্রামটির আউটপুট অন্তর্ভুক্ত করুন।

ধন্যবাদ!


1
প্রোগ্রামটি কি সমস্ত মুদ্রণযোগ্য ASCII অক্ষর বা কেবল বড় হাতের অক্ষরগুলি পরিচালনা করতে হবে? সাদা স্থান সম্পর্কে কি?
r3mainer

কেবলমাত্র বড় হাতের অক্ষর হোয়াইটস্পেস পছন্দনীয়, তবে আমি বুঝতে পারি যে স্ট্রিংটি "" প্রতিনিধিত্ব করা অসম্ভব, তাই এটির alচ্ছিক।
অরবি

উত্তর:


3

সি -> ব্রেইনফাক 556 বাইট

অপ্রয়োজনীয় সাদা স্থান বাদে। আমি d[]হটস থেকে উদ্ধৃতি চিহ্নের স্ট্রিংয়ে হরফ থেকে ফন্টের ডেটা পরিবর্তন করে আরও শতাধিকটি সংরক্ষণ করতে পারি।

i,j,s,t,u,v,w,h;
char a[99],b[9999],k,d[]={0x6F,0x3B,0x5A,0xD5,0x7A,0x6A,0x5B,0x2F,0xD0,0x57,0xA1,0x1B,0xCF,0x4F,0x5F,0x6E,0x6D,0x4E,0x79,0x3A,0x1F,0x95,0x9F,0xA6,0x3D,0x76};
f(int z){
  return d[a[j-1-t%(2*w*j)/w/2]-65]>>z&1?z=b[i*v/u],b[i++*v/u]=' ',z:' ';
}

main(){
  for(scanf("%s",a);a[j];i++)a[j]-k?k++,b[i]='+':(b[i]='.',t+=(0xE7572B70967DB>>(a[j]*2-130)&3)+5,j++);

  s=i/t+2;
  u=t*(s-1);
  v=i;
  i=0;

  w=2*s;h=2*s+1;
  for(t=2*w*h*j;t--;)putchar(
    t%(2*w*j)? 
      t/2/w/j%s?

        t%s||!(t/4%s)?' ':f(t/s%4/2+t/2/w/j/s*2|7*(t/s%4==2))  
      :(
        (t%s)&&(t/s+1&2)?f(4+t/2/w/j/s):' '
      )
    :10  //newline
  );

}

এটি একটি ক্যালকুলেটর ফন্ট ব্যবহার করে (লো এনট্রপির জন্য, চিঠি অনুযায়ী কেবলমাত্র একটি বাইট) এবং https://codegolf.stackexchange.com/a/35801/15599 দ্বারা অনুপ্রাণিত একটি খুব নিষ্পাপ ব্রেইনফাক সংকলক (আমি ব্যতীত পরিবর্তে প্লাস ব্যবহার করি।) প্রথম forলুপটি পাঠ্যটিকে aস্ট্রিংয়ে সংকলন bকরে এবং ১৩-সংখ্যার হেক্স ম্যাজিক সংখ্যা ব্যবহার করে বিন্যাসিত কোড আঁকার জন্য প্রয়োজনীয় স্ট্রোকের সংখ্যা গণনা করে (সমস্ত অক্ষর 5-8 স্ট্রোক are)

মোট প্রোগ্রামের দৈর্ঘ্য এবং স্ট্রোকের গণনা দেওয়া, স্ট্রোকের জন্য অক্ষরের সংখ্যা গণনা করা হয় (অক্ষরগুলি একই বা আরোহী ক্রমানুসারে খুব ছোট হতে পারে এবং অক্ষরগুলি অবতরণে থাকলে খুব বড়।)

প্রোগ্রামের বেশিরভাগ অংশ হোয়াইটস্পেস বা স্ট্রোকগুলির একটি মুদ্রণ করা দরকার কিনা তা নির্ধারণে নিবেদিত। কার্সার যদি একটি স্ট্রোক স্কোয়ারের ওপরে থাকে তবে ফাংশনটিকে fসেই স্ট্রোকের সংখ্যা দিয়ে আর্গুমেন্ট হিসাবে ডাকা হয়। এটি বর্তমান স্থানের জন্য স্ট্রোকের প্রয়োজন না হলে বা প্রোগ্রাম থেকে কোনও অক্ষর থাকলে তা একটি স্থান দেয় returns কারণ ASCII আর্টটি সম্পূর্ণ করার জন্য প্রয়োজনীয় অক্ষরের সংখ্যা প্রোগ্রামের অক্ষরের চেয়ে বেশি হতে পারে, মাঝে মধ্যে একটি স্থান isোকানো হয়, সুতরাং গণনা b[i * v/u]

ফন্টে চারটি একক স্ট্রোক এবং চারটি ডাবল স্ট্রোক রয়েছে যা নিম্নরূপে সংখ্যাযুক্ত, যা চিঠির উপর নির্ভর করে উপস্থিত বা অনুপস্থিত।

 6666 6666
3    7    2
3    7    2
3    7    2
3    7    2
 5555 5555
1    7    0
1    7    0
1    7    0
1    7    0
 4444 4444 

আউটপুট

Http://copy.sh/brainfuck/ এ পরীক্ষা

অ আ ক খ

 + ++ +++                                ++++ + ++
+         +         +
+         +         +                   +
+                   +                   +
+         +         +
 ++++ + ++           +++  ++++
+                   +         +         +
+         +                   +         +
+         +         +                   +
+         +         +         +
                     ++++ + ++           ++.  +.+.

DEF

 + ++ ++ +           ++++  +++           ++ + ++++
          +         +                   +
     +    +                             +
     +    +         +                   +
          +         +                   +
                     ++ + +++            ++++ + ++
     +    +         +
     +    +         +                   +
     +              +                   +
     +    +         +
 ++++ + ++           ++.  +.+.

GHIJK

 + + +++                         ++  +++         +++  ++
+               +       +           +                               +
+               +       +           +                   +
+               +       +           +                   +           +
                  ++ +++                                         + + +++
+       +       +                   +           +       +           +   +
+               +       +           +           +       +           +
+       +       +       +           +           +                   +   +
 +++ + +                         ++. +.          +.+ .+.

LMNOP

                 + + +++         + + +++         + + +++         + + +++
+                   +   +       +       +       +               +       +
+               +   +           +       +       +       +       +
+               +   +   +       +               +       +       +       +
                                                                 + + +++
+               +   +   +       +       +               +       +
+       +       +       +       +       +       +       +
+       +       +   +   +               +       +       +       +
 + . +.+                                         . + .+.

QRSTU

 + + +++         +++ +++         +++ ++
+       +       +       +       +               +               +       +
+       +       +       +       +               +               +
+       +       +       +       +               +               +       +
 +++ +++                         + + +++         +++ +++
        +       +                       +       +               +
        +       +                       +       +               +       +
        +       +                       +       +               +       +
                                 +++  ++         +++ .+.         +.+ .+.

VWXYZ

                                                                + + +++
   +   +       +   +   +               +       +       +               +
   +   +       +   +   +           +           +       +               +
   +   +       +   +   +           +           +       +               +
                                +++ +++         + + +++         +++ ++
   +   +       +   +   +       +   +                   +       +
   +           +   +   +       +   +                   +       +
   +   +           +   +       +   +                   +       +
+++ + +         +++ +++                         ++  .+.         +.+ .+.

COPYABLE

এলোমেলোভাবে ক্রমযুক্ত অক্ষরের সাথে বেশিরভাগ স্ট্রিং সহ (আরোহণ নয়) অক্ষরের আকার অনেক বড় এবং বর্ণগুলি আরও ভাল দেখায়। দুর্ভাগ্যক্রমে ফাইলের আকারগুলি বেশ বড় হয়ে যায়। আমি এখানে পুরো শব্দটি UCOPYRIGHTABLE আপলোড করতে পারি না, COPYABLE আমার দীর্ঘতম শব্দটি অনুমোদিত about

        + +++++++++ +++++++++++                         + +++++++++ +++++++++++                         ++ ++++++++ +++++++++++                                                                         +++ +.+++++ +++++++.+.+                                                                                                                         ++++ ++++.+ +++++++++++            
       +                                               +                       +                       +                       +                                               +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                                               +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                                               +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
                                                       +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                                                                   
       +                                               +                       +                       +                       +                       +                       +                       +                       +                       +                                               +                                               +                                   
                                                                                                        +++++++++ + +++++++++++                         ++++++++++  +++++++++++                         +++++++++++  ++++++++++                         +++++++++++ + +++++++++                                                                         ++++++++++. +. ++++++++            
       +                                               +                       .                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                                               +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
                                                       +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                                                           
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                                               +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                                               +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                       +                       +                       +                       +                                   
       +                                               +                       +                       +                                                                       +                       +                       +                       +                                               +                       +                       +                                   
        +++++++++++ +++++++ +++                         +++++++++++ ++++++++ ++                                                                         +++++++++++ +++++++++ +                                                                         +++++++++++ ++++++++++                          +++++++++++ +++++++++++                          ++++++++++ ++++++++++.            

8

পার্ল → বেফুঞ্জ, 868 বাইট

ঠিক আছে, আমি বল ঘূর্ণায়মান হবে। এটি আরও কিছুটা নিচে যেতে পারে তবে আমার মাথায় আঘাত লাগছে ...

$_=" f,j f,jjj f,lgdlH,b >llb ,l,b lb ,lb , f,j f j f >>l>,lb ,9vb >lb,Hlb,H>vb >999*+,
mg8Hg8Ha8c8g8Hgb8Hab8,8k/ 8Ha8Hi /H8HgH8g8k >H9ghgH9b 'bhbhgH9ghg9+gH9ga//
ma8Hg8Ha8c8ahgbhabhh /bhah VdhibHH9ghb >H9ghgH9abhbhgH*g9+g ii /b>l,^b // 
>H^>>Hned*angne ned* eneknabnn<b nangn idH*gned*gneb*>>,b *kngH5g*6 Adb><aha//b
H*g2HgH3a4Hg5Ha6c7gHHgb1Hab2+3H ib4Ha5Hg6kiHH7g8c, id1H iabHk3k4+g >+ ,^>^dd 7/ ib *k //b 
+1g+HgH+g+Hg+Ha+c+g,Hgb+kk >^+ki +Ha+Hg+HgH+g+cki'+ki ,gk+k>^gbHc^H 9*gb8+b//a
^<b ^>^ebe^'>^e >^e>>^a >^>> >^gd>^ke> >^b '>^e>>^g>^g e^ >^a >^~'i>^b i >2+^b >^b e>gHaV V >^gb>^bHHHHHH";
s/n/*H/g;s/m/H8g8HgH8/g;s/l/v>/g;s/k/Hb/g;s/j/f>,/g;s/i/\\/g;s/h/9H/g;s/g/bd/g;s/f/ve/g;s/e/>>>/g;s/d/ H/g;s/c/HaH/g;s/b/  /g;s/a/    /g;@f=split$/;
@s=split('',$ARGV[0]);foreach$r(0..6){for($i=0;$i<@s;$i++){print substr($f[$r],(ord($s[$i])-65)*6,6).$"}print$r?'':' @',$/}

উদাহরণ:

খাটো উদাহরণ কপি-আটকানো মতো অনলাইন দোভাষী মধ্যে হতে পারে এই এক , কিন্তু UNCOPYRIGHTABLE প্রদর্শিত হয় একটি প্রোগ্রাম হ্যান্ডেল সব অনলাইন অনুবাদকের অত্যন্ত দীর্ঘ যে ফলে।

$ perl bf.pl ABCDEFGHI
 v>>>, v>>>>,  v>>>, v>>>>, v>>>>, v>>>>,  v>>>, v>   H  Hv>H,  @
H8   H 8H   H H8   H 8H   H 8H     8H     H8   H 8H   H   8H   
H8   H 8H   H H8     8H   H 8H     8H     H8     9H   H   9H   
>H^>>H *H>>>  H*     *H   H *H>>>  *H>>>  H* >>> *H>>>H   *H   
H*   H 2H   H H3     4H   H 5H     6H     H7   H HH   H   1H   
+1   H +H   H H+   H +H   H +H     +H     H+   H ,H   H   +H   
^<   ^ >^>>>   >>>^' >^>>>  >^>>>> >^      >^>>  >^   H  H>^H  


$ perl bf.pl JKLMNOPQR
   >v> v>   , v>,    v>   , v>   ,  v>>>, v>>>>,  v>>>  v>>>>,  @
    8, 8H  /  8H     8H\ /H 8H   H H8   H 8H   > H9   H 9H   H 
    9H 9H /   9H     9H V H 9H\  H H9   H 9H   > H9   H 9H   H 
    *H *H<    *H     *H   H *H \ H H*   H *H>>>  H*   H *H>>>  
    2+ 3H \   4H     5H   H 6H  \H H7   H 8H     H, \ H 1H \   
H   >^ +H  \  +H     +H   H +H   H H+   H +H     HH  \' +H  \  
 >>>>  >^   ' >^>>>> >^   H >^   H  >>>^  >^      >^~'\ >^   \ 


$ perl bf.pl STUVWXYZ
 v>>>  >>v>>, v>   , 9v   > v>  ,H v>  ,H >v   > 999*+,  @
H9   '   9H   9H   H H9   H 9H   H 9+   H H9   H     // 
H9       9H   9H   H H*   H 9+   H  \\ /   >v>,^    //  
 *>>,    *H   *H   H H5   H *6 A H   ><     9H     //   
    HH   3H   4+   H  >+ ,^ >^ H H  7/ \    *H    //    
,   HH   +H   >^   H   HH     H^H  9*   H   8+   //     
 >2+^    >^    >>>>    HH     V V  >^   H   >^   HHHHHH 


$ perl bf.pl UNCOPYRIGHTABLE
v>   , v>   ,  v>>>,  v>>>, v>>>>, >v   > v>>>>,  Hv>H,  v>>>, v>   H >>v>>,  v>>>, v>>>>, v>,    v>>>>,  @
9H   H 8H   H H8   H H8   H 8H   > H9   H 9H   H   8H   H8   H 8H   H   9H   H8   H 8H   H 8H     8H     
9H   H 9H\  H H8     H9   H 9H   >  >v>,^ 9H   H   9H   H8     9H   H   9H   H8   H 8H   H 9H     8H     
*H   H *H \ H H*     H*   H *H>>>    9H   *H>>>    *H   H* >>> *H>>>H   *H   >H^>>H *H>>>  *H     *H>>>  
4+   H 6H  \H H3     H7   H 8H       *H   1H \     1H   H7   H HH   H   3H   H*   H 2H   H 4H     5H     
>^   H +H   H H+   H H+   H +H       8+   +H  \    +H   H+   H ,H   H   +H   +1   H +H   H +H     +H     
 >>>>  >^   H  >>>^'  >>>^  >^       >^   >^   \  H>^H   >^>>  >^   H   >^   ^<   ^ >^>>>  >^>>>> >^>>>> 

বিঃদ্রঃ:

@আউটপুট প্রথম লাইন শেষে চরিত্র স্টপ চলমান Befunge বলে। এটি ছাড়া প্রোগ্রামটি একই শব্দটিকে চিরতরে পুনরাবৃত্তি করতে থাকবে।


আমি ASCII ফন্টটি পছন্দ করি :)
অরবি

3

সি → ব্রেইনফাক, 855 বাইট

পাঠযোগ্যতা উন্নত করতে কিছু নতুন লাইন যুক্ত হয়েছে। এটি ছোট হাতের অক্ষর এবং চিহ্নগুলিতে segfaults লক্ষ্য করুন। এখানে আউটপুট পরীক্ষা করুন

#define p putchar
#define V(x) c=v[1][x]-65;
l[]={96,48,24,12,66,98,60,90,6,70,102,54,118,14,62,126},e[]={2863659686,
3937331886,1787332774,3937053358,4170115215,2291067023,1789692070,2863659690,
1646404134,1778384896,2864569258,4169697416,1145534458,1165457300,1789569702,
2291051182,1823124134,2863573678,1778804902,572662319,1789569706,648719018,
2943841348,2863033002,572680874,4164034831},a[]={36,36,24,34,30,26,29,36,20,20,
30,20,28,26,32,28,33,34,28,20,32,30,28,32,24,24},r,o,j,k,c,z;char*b[]={
"-[+>+<[+<]>]>+","-[+[>---<<]>+]>-","+[>+<+++++++]>",">+++[[-<]>>--]<",
"+[>+<+++]>----","+[>+<+++]>","-[+[+<]>>+]<+"};main(i,v)char**v;{for(;r<8;r++){
for(i=0;v[1][i];i++)for(o=0;o<8;o++){V(i)if((l[(e[c]>>(4*r))&15]>>o)&1){V(j)
if(k==a[c]){j++;k=0;}V(j)z=k-strlen(b[c/4]);if(z<0)p(b[c/4][k]);else{c=(c%4)-z;
!c?p(46):(c>0?p(43):p(62));}k++;}else p(32);}p(10);}}

উদাহরণ

এটি টার্মিনালে অনেক সুন্দর দেখাচ্ছে :(

$ ./art ABCDEFGHI

  -[+>   +<[+<    ]>]>   +.>>>   >>>>>>  >>>>>>   >>>>   >>  -[   +>+<  
 [+  <]  >]  >+  +.  >>  >>  >>  >>      >>      >>  >>  >>  >>    >>   
 -[  +>  +<  [+  <]      >]  >+  ++      .>      >>      >>  >>    -[   
 +>+<[+  <]>]>   ++      ++  .>  >>>>>   >>>>>   >>      >>>-[+    [>   
 ---<<]  >+]>-   .>      >>  >>  >>>>>   >>>-[   +[ >--  -<<]>+    ]>   
 -+  .>  >>  >>  >>      >-  [+  [>      --      -<  <]  >+  ]>    -+   
 +.  >>  >>  >>  >>  >>  -[  +[  >-      --      <<  ]>  +]  >-    ++   
 +.  >>  >>>>>    >>>>   >>>>>   +[>+<+  ++       ++++   ]>  .>   >>>>  

 $ ./art JKLMNOPQR

     +[  >+  <+  ++      ++  ++  ]    >   +.>>   >>+[>    +<++   +++++  
     ]>  ++  .>  >>      >>>>>>  >>   >  >+  [>  +<  ++  ++  ++  +]  >+ 
     ++  .> >>   ++      + [[ -  < ]> >  --  ]<  .>  >>  >>  >>  >>  >> 
     >>  +++     [[      - <] >  > -- ]  <+  .>  >>  >>  >>  >>  >+  ++ 
     [[  -<]     >>      - -] <  + +. >  >>  >>  >>>>>   >>  >>  >+++[  
     [-  <] >>   --      ]    <  + ++ .  >>  >>  >>      >>  >+  [>  +< 
 ++  +]  >-  --  -.      >    >  >   >>  >>  >>  >>      >> >>>  >>  +[ 
  >+<+   ++  ]>  ----+.  >    >  >    >   >>>>   >>       >>>>   >>  >> 

$ ./art STUVWXYZ

  +[>+   <+++]>  --  --  ++  .>  >    >  >>  >>  >>  >>  +[>+<+ 
 ++  ]>    --    --  ++  +.  >>  +    [  >+  <+  ++  ]>      .> 
 >>        >>    >>  >>  >>  >>  >    >  >>  >>  >>  +[     >+  
  <+++     ]>    +.  >>  >>  >>  > >> >   >>>>    >>>>     +[   
  >+<+     ++    ]>  ++  .>  >>  > >> >   >>>>     >>      >>   
     +[    >+    <+  ++  ]>  ++  + .> >  >>  >>    >>     >>    
 >>  >>    >>    >>  -[   +[+<   ]>>+]<  +.  >>    >>    >>     
  >>>>     -[     +[+<     ]>    >+  ]<  ++  .>    >>    >>>>>> 

এবং পরিশেষে,

$ ./art UNCOPYRIGHTABLE

 +[  >+  <    +   ++]>    .>>>   >>>>>   >>  >>  >>>>>    >>>>    >+++   [[  -<  ]>>--]   <+.>   >>>>>   >>      >-[+>+ 
 <[  +<  ]>   ]  >+  ++  .>  >>  >>  >>  >+  ++  [[  -<    ]>    >-  -]  <+  +.    >>    >>  >>  >>  >>  >>      >>     
 >+  ++  [ [- <  ]>      >-  -]  <+  ++  .>  >>  >>  >>    >>    -[      +[  +<    ]>    >+  ]<  +.  >>  >>      >>     
 >>  >>  + [> +  <+      ++  ]>  --  --   +.>>   >>  >>    >>    >>      >>>>>>    >>    +[>+<+  +++++   +]      >.>>>  
 >>  -[  + [> -  --      <<  ]>  +]>-+     +.    >>>>>     >>    >> >-[  +[>---    <<    ]>+]>-  +++.>   >>      >>>>>  
 >>  >>  > >> >  +[      >+  <+  ++        ]>    --  --    ++    +.  >>  -[  +>    +<    [+  <]  >]  >+  .>      >>     
 >>  >>  >   >>  >>  >>  >>  >>  >>        >-    [+  >+    <[    +<  ]>  ]>  ++    .>    >>  >>  >>  >>  >>      >>     
  >>>>   >    >   >+[>    +<++   ++        ++    +]  >+   ++.>    >-[+   [>  --    -<    <]  >+  ]>-.>   >>>>>>  >>>>>> 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.