এক্সপ্রেশন যা এর দৈর্ঘ্যের সমান


14

একটি নম্বর দেওয়া, সেই সংখ্যার দৈর্ঘ্য সহ সেই সংখ্যার সমান শব্দের মধ্যে একটি অভিব্যক্তি সন্ধান করুন।

সুতরাং, একটি ইনপুট 15, আপনি আউটপুট হতে পারে sixteen minus one, যা পনের অক্ষর (স্পেস গণনা করা হয় না)। যদি একাধিক সমাধান উপস্থিত থাকে তবে আপনি যেটি চান মুদ্রণ করুন। যদি কিছু না থাকে তবে মুদ্রণ করুনimpossible

ব্যবহারের জন্য শুধুমাত্র অপারেটার plus, minus, times, এবং divided by। অপারেটরগুলি বাম থেকে ডানে বিবর্তিত হয়।

1234 হিসাবে ফর্ম্যাট করুন one thousand two hundred thirty four। "এবং" এর অনুপস্থিতি নোট করুন এবং কোনও ড্যাশ বা কমা নেই Note

আউটপুটটিতে ব্যবহৃত ইনপুট এবং সমস্ত সংখ্যার 10,000 এর চেয়ে কম ইতিবাচক পূর্ণসংখ্যার হতে হবে।

কমান্ড লাইন আর্গুমেন্ট হিসাবে ইনপুট দেওয়া হবে। স্ট্যান্ডার্ড আউটপুট প্রিন্ট করুন।

উদাহরণ

1: impossible
4: four
7: impossible
13: eight plus five (you could also output "five plus eight")
18: one plus two times six (note that operators are evaluated from left to right)
25: one thousand divided by forty

4
nonnegative পূর্ণসংখ্যা? So for 1234 we can do (massive expression) times zero plus one thousand two hundred thirty four.আপনি শূন্য বাদ দিতে চাইবেন। আপনার উপর
স্তরের নদী সেন্ট

পছন্দ করুন আমি এটিকে "ইতিবাচক পূর্ণসংখ্যার" এ পরিবর্তন করেছি।
Ypnypn

4
sooo ... one hundred three times one times one times one times one times one times one times one times one times one times one times oneবৈধ?
কিউইক্স

@ কিউইক্স হ্যাঁ; বিরক্তিকর উত্তরগুলি গ্রহণযোগ্য, যদিও এটি 104, 105, 106, 107, 108, 109, 110 বা 111 এর জন্য কাজ করে না
Ypnypn

উত্তর:


1

জাভাস্ক্রিপ্ট, 434 অক্ষর

function f(s){return s.replace(/[A-Z]/g,function(t){return{O:'one',T:'two',H:'three',F:'four',I:'five',S:'six',E:'seven',G:'eight',N:'nine',Z:'ten',P:' plus ',M:' minus ',U:' times ',X:'teen',A:'thir',B:'twenty'}[t]})}A='TPAX|GeenMT|EXUO|B FMS|F|GPSUT|ZPHPG|BPFMT|AXPFPS|BPGMF|EUOPGeen|NPT|B GMSPI|GPI|EPE'.split('|');O=26640;function S(n){return n<15&&!(O>>n&1)?'Invalid':f(A[v=n%15])+(new Array(~~(n/15)+(O>>v&1))).join(f('PSPN'))}

গ্লোবাল নেমস্পেসে একটি ফাংশন সরবরাহ করে S, যা কোনও অ-নেতিবাচক পূর্ণসংখ্যাকে গ্রহণ করে এবং প্রয়োজনীয় স্ট্রিংটি প্রদান করে, বা "Invalid"যদি পূর্ণসংখ্যকে নির্দিষ্টকরণের মধ্যে প্রতিনিধিত্ব করা যায় না।

আমি সম্ভবত @optokopper এর মতো একই পদ্ধতির ব্যবহার করেছি বলে মনে করি, "plus six plus nine"যতটা সম্ভব সংক্ষিপ্ত প্যাডিংয়ের স্ট্রিং ob

এটি বলার পরে, আমরা ব্যবহার করি বেস স্ট্রিংগুলির টেবিলগুলি পৃথক হয় এবং আমার সমাধান বিট টুইডলিং এবং অবশিষ্ট অপারেটর ( %) এর উপর নির্ভর করে । এটি "multiplied by"একটি সম্ভাব্য অপারেশন হিসাবে অন্তর্ভুক্ত । এবং স্বাভাবিকভাবেই সি এবং জাভাস্ক্রিপ্টের মধ্যে ভিন্নতার কারণে স্ট্রিংগুলি কীভাবে তৈরি করা হয় তার মেকানিক্স সম্পূর্ণ আলাদা।

এটি আমার সেরা চেষ্টা, যে কোনও হারে। ;)

@ চিরুকে বিশেষ ধন্যবাদ, যার সংখ্যাটি অর্জনযোগ্য ছিল তার আলোচনা ফলহীন অনুসন্ধান রোধে সহায়তা করেছিল।


22

জেএস, 1719/1694

তত্ত্ব

দুর্ভাগ্যক্রমে, আপনি যে নিয়মটি সরবরাহ করেছেন সেটি গাণিতিক দৃষ্টিকোণ থেকে বুদ্ধিমান সিদ্ধান্ত নাও হতে পারে। আসলে, নিয়মের একটি ছোট উপসেট ব্যবহার করে আপনি প্রদত্ত বিরতিতে প্রতিটি সংখ্যার জন্য একটি সমাধান খুঁজে পেতে পারেন

আমি = [1;  10000]

ছাড়া

এক্স = [1;  3] ∪ [5;  10] ∪ {12

যার জন্য কোনও সমাধান নেই।

হ্রাস বিধি সেট

নিম্নলিখিত নিয়মের সাবেট বিবেচনা করুন:

  • শুধুমাত্র অপারেটার ব্যবহার করুন plus, minusএবং times
  • আপনি বাস্তবায়ন করতে প্রয়োজন হবে না একাধিক ঘটনার plusবা minusপ্রকাশ করুন।
  • আপনি বাস্তবায়ন করতে প্রয়োজন হবে না তন্ন তন্ন divisionনা operator associativity(যেমন তাদের সমাধান সেট ইতিমধ্যে প্রথম নিয়ম দ্বারা আচ্ছাদিত করা হয়)।

এটি কাজ করার কারণটি হ'ল, আপনি যেমন @ কুইক্সের সাথে আগে আলোচনা করেছিলেন, আপনি বিরক্তিকর উত্তরগুলি মঞ্জুরি দিয়েছিলেন , যা নিয়মিত অভিব্যক্তিতে শেষ হয় ( times one)+$। এটি অনুমোদিত, প্রদত্ত বিরতিতে প্রতিটি সংখ্যার একটি সমাধান থাকবে।

আপনি যখন আপনার একটি মন্তব্যে উত্তর দিয়েছেন,

@ কিউইক্স হ্যাঁ; বিরক্তিকর উত্তরগুলি গ্রহণযোগ্য, যদিও এটি 104, 105, 106, 107, 108, 109, 110 বা 111 এর জন্য কাজ করে না -

আপনি একেবারে ঠিক বলেছেন: আপনি নিজের সংখ্যাটি দিয়ে অর্থাৎ নিজের one hundred four times one times one …বা এই সংখ্যার অন্য কোনওটি দিয়ে শুরু করে আপনার অভিব্যক্তি তৈরির চেষ্টা করার সময় এটি কার্যকর হয় না ।

তবে, আপনার অভিব্যক্তি একটি অভিব্যক্তি দিয়ে শুরু হয় যার মূল্যায়ন প্রদত্ত সংখ্যার সমান, আপনি ভাগ্যের বাইরে of উদাহরণস্বরূপ, দ্রষ্টব্য যে 17 + 87সত্যই 104, তাই আমরা লিখতে পারে 104:

104: seventeen plus eighty seven times one times one times one times one times one times one times one times one times one times one

এই উপসেটটি কাজ করে তা দেখতে এই ফাইলটি সংরক্ষণ করুন num.jsএবং নিশ্চিত করুন যে কমান্ড লাইনের জন্য একটি জাভাস্ক্রিপ্ট ইঞ্জিন স্পাইডারমোনকি আপনার সিস্টেমে ইনস্টলড রয়েছে is

অ্যালগরিদম

  • আসুন Kধনাত্মক পূর্ণসংখ্যার জন্য সম্পত্তিটি সংখ্যার Nবর্ণ হিসাবে এবং এর মান থাকা হিসাবে এটি নির্ধারণ করি N
  • আসুন আমরা Fতার অভিব্যক্তির জন্য সম্পত্তিটিকে আরও সংজ্ঞায়িত করি কারণ এর শব্দ রূপান্তর হিসাবে 8kকে ∈ with এর মূল্যায়নের চেয়ে কয়েকগুণ কম হয় ℕ F"ফিলিবেল" এর অর্থ দাঁড়ায় এবং আমরা বর্ণের রূপান্তর শব্দটি দৈর্ঘ্যের 8 (অর্থাত্ " times one") প্রকাশের সাথে পূরণ করতে পারি বা না এমনটি বর্ণনা করে যা ফলস্বরূপ প্রকাশটি সম্পত্তি পেতে পারে N

এরপরে আমরা নিম্নরূপে এগিয়ে চলি:

  • ইনপুট নম্বরটিকে কথায় রূপান্তর করুন।
  • ইনপুট নম্বরটিতে সম্পত্তি আছে কিনা তা পরীক্ষা করুন K
    • যদি তা হয় তবে শব্দগুলি ফেরত দিন (4 দুর্ভাগ্যক্রমে এই সম্পত্তিটির সাথে একমাত্র সংখ্যা)।
    • যদি এটি না হয়, এগিয়ে যান।
  • সমস্ত দ্বি-অপারেন্ড এক্সপ্রেশন (সংযোজন, বিয়োগ এবং এই ক্রমের গুণক) এর জন্য যা ইনপুট সংখ্যার ফলস্বরূপ, তাদের মূল্যায়নের সম্পত্তি আছে কিনা তা পরীক্ষা করে দেখুন K
    • যদি তা হয় তবে শব্দগুলি ফিরিয়ে দিন।
    • যদি তা না হয় তবে দ্বি-অপারেন্ড এক্সপ্রেশনটির সম্পত্তি আছে কিনা তা পরীক্ষা করুন N
      • যদি এটি হয় তবে এক্সপ্রেশনটি পূরণ করুন " times one"এবং ফলাফলটি প্রকাশের মূল্যায়নের সম্পত্তি আছে কিনা তা যাচাই করুনK
        • যদি তা হয় তবে শব্দগুলি ফিরিয়ে দিন
        • যদি এটি না হয়, এগিয়ে যান
      • যদি এটি না হয়, এগিয়ে যান
  • একটি কফি পান করুন

অনুশীলন করা

num.js (স্পাইডারমনকি / কমান্ড লাইনের জন্য)

function X(e,t){return e+": "+t}function P(e){var n,t;for(n=1;.5*e+(e%2===0?1:0)>n;++n){if(t=C.s(n)+" plus "+C.s(e-n),t.replace(/\s/g,"").length===e)return t;if(F(e,t)&&e>t.length)return G(e,t)}return!1}function M(e){var t,n;for(t=L;t>1;--t){if(0>t-e)return!1;if(n=C.s(t)+" minus "+C.s(t-e),n.replace(/\s/g,"").length===e)return n;if(F(e,n)&&e>n.length)return G(e,n)}return!1}function F(e,t){return(e-t.replace(/\s/g,"").length)%8===0}function G(r,t){var e,i=(r-t.replace(/\s/g,"").length)/8,n="";for(e=0;i>e;++e)n+=" times one";return t+n}function T(e){var t,n,r;if(F(e,C.s(e)))return G(e,C.s(e));for(t=1,n=1;t<Math.floor(Math.sqrt(e));++t){for(;e>tn;)++n;if(tn===e&&(r=C.s(t)+" times "+C.s(n),r.replace(/\s/g,"").length===e))return r}return!1}function Y(e){var n,r,t;return e===C.s(e).length?X(e,C.s(e)):(n=P(e))?X(e,n):(r=M(e))?X(e,r):(t=T(e),t?X(e,t):X(e,"impossible"))}var L=1e4,C=new function(){return this.o=["","one","two","three","four","five","six","seven","eight","nine"],this.t=["","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"],this.T=["ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],this.s=function(e){return e?this.m(e):"zero"},this.m=function(e){return e>=1e6?this.m(Math.floor(e/1e6))+" million"+(e%1e6!==0?" "+this.Z(e%1e6):""):this.Z(e)},this.Z=function(e){return e>=1e3?this.h(Math.floor(e/1e3))+" thousand"+(e%1e3!==0?" "+this.h(e%1e3):""):this.h(e)},this.h=function(e){return e>99?this.o[Math.floor(e/100)]+" hundred"+(e%100!==0?" "+this.U(e%100):""):this.U(e)},this.U=function(e){return 10>e?this.o[e]:e>=10&&20>e?this.T[e-10]:this.t[Math.floor(e/10)]+(e%10!==0?" "+this.o[e%10]:"")},this};print(Y(0|arguments[0]))

num.js (ব্রাউজারগুলির জন্য)

উপরের প্রদত্ত কোডটি শেষ কমান্ডের কারণে ব্রাউজারগুলির জন্য কাজ করতে পারে না, যা প্রদত্ত স্ক্রিপ্ট থেকে একটি দুর্দান্ত কমান্ড তৈরি করতে কমান্ড লাইন আর্গুমেন্টগুলিকে ধরে ফেলে।

আপনার ব্রাউজারের মধ্যে থেকে সরাসরি জাভাস্ক্রিপ্ট কোড চালাতে, উপরের কোডটির এই অংশটি নির্বাচন করুন:

function X(e,t){return e+": "+t}function P(e){var n,t;for(n=1;.5*e+(e%2===0?1:0)>n;++n){if(t=C.s(n)+" plus "+C.s(e-n),t.replace(/\s/g,"").length===e)return t;if(F(e,t)&&e>t.length)return G(e,t)}return!1}function M(e){var t,n;for(t=L;t>1;--t){if(0>t-e)return!1;if(n=C.s(t)+" minus "+C.s(t-e),n.replace(/\s/g,"").length===e)return n;if(F(e,n)&&e>n.length)return G(e,n)}return!1}function F(e,t){return(e-t.replace(/\s/g,"").length)%8===0}function G(r,t){var e,i=(r-t.replace(/\s/g,"").length)/8,n="";for(e=0;i>e;++e)n+=" times one";return t+n}function T(e){var t,n,r;if(F(e,C.s(e)))return G(e,C.s(e));for(t=1,n=1;t<Math.floor(Math.sqrt(e));++t){for(;e>tn;)++n;if(tn===e&&(r=C.s(t)+" times "+C.s(n),r.replace(/\s/g,"").length===e))return r}return!1}function Y(e){var n,r,t;return e===C.s(e).length?X(e,C.s(e)):(n=P(e))?X(e,n):(r=M(e))?X(e,r):(t=T(e),t?X(e,t):X(e,"impossible"))}var L=1e4,C=new function(){return this.o=["","one","two","three","four","five","six","seven","eight","nine"],this.t=["","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"],this.T=["ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],this.s=function(e){return e?this.m(e):"zero"},this.m=function(e){return e>=1e6?this.m(Math.floor(e/1e6))+" million"+(e%1e6!==0?" "+this.Z(e%1e6):""):this.Z(e)},this.Z=function(e){return e>=1e3?this.h(Math.floor(e/1e3))+" thousand"+(e%1e3!==0?" "+this.h(e%1e3):""):this.h(e)},this.h=function(e){return e>99?this.o[Math.floor(e/100)]+" hundred"+(e%100!==0?" "+this.U(e%100):""):this.U(e)},this.U=function(e){return 10>e?this.o[e]:e>=10&&20>e?this.T[e-10]:this.t[Math.floor(e/10)]+(e%10!==0?" "+this.o[e%10]:"")},this}

এখন, এটি আপনার ব্রাউজারের জাভাস্ক্রিপ্ট কনসোলে পেস্ট করুন, যাতে আপনি আপনার ব্রাউজারের মধ্যে থেকে একই ফলাফলগুলি তৈরি করতে পারেন, উদাহরণস্বরূপ:

Y(1234);

উদাহরণ (কমান্ড লাইন)

chiru@chiru ~ $ js num.js 28
28: fourteen plus fourteen times one
chiru@chiru ~ $ js num.js 7
7: impossible
chiru@chiru ~ $ js num.js 42
42: nine thousand sixty minus nine thousand eighteen

এবং যে কৌশলটি দিয়ে আপনি প্রতিটি নম্বরকে কাজ করতে পারেন তা দেখতে, বিরক্তিকর উত্তরটি একবার দেখুন js num.js 1337:

1337: ten plus one thousand three hundred twenty seven times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one times one

প্রদত্ত কোডগুলি প্রদত্ত ব্যবধানের জন্য বৈধ সমাধান উত্পন্ন করে (এবং সম্ভবত উপরেও, আপনাকে কেবল ভেরিয়েবলের মান বাড়াতে হবে L)।

পরিসংখ্যান

আমি "কতটা বিরক্তিকর " মত প্রকাশ করতে আগ্রহী (বা: times oneএই অ্যালগরিদমের অভ্যন্তরে অভিব্যক্তি অনুযায়ী কতটা স্ট্রস্ট্রিং ব্যবহৃত হয়েছিল), কারণ এই অংশটি প্রদত্ত বিরতিতে প্রতিটি সংখ্যার জন্য সমাধান সন্ধানের জন্য দায়বদ্ধ ছিল। নিজের জন্য দেখুন:

x : n-th অভিব্যক্তি (ন্যূনতম 0, সর্বোচ্চ 10,000)

y : প্রকাশের মধ্যে "এক বার" সাবস্ট্রিংয়ের উপস্থিতির সংখ্যা (কমপক্ষে 0, সর্বোচ্চ 1245)

চিত্রলেখ

উপসংহার:

  • এক্সপ্রেশনগুলি রৈখিক উপায়ে আরও এবং বেশি বিরক্তিকর হয়ে ওঠে।
  • 99% এরও বেশি সমাধান বিরক্তিকর।

2
4 four
টির

@FUZxxl আমি কখনই এটি অস্বীকার করি নি। আপনি যদি সাড়া দিচ্ছেন তবে If it does, return the words (4 is the only number with this property, unfortunately)আপনি এই বিভাগটি ভুল বুঝে থাকতে পারেন। এটি বলে যে 4এটি কেবলমাত্র অপারেটর-মুক্ত অভিব্যক্তি যা তার নিজস্ব সমাধান গঠন করে।
চিরু

@FUZxxl ওহ, ঠিক আছে আমি কেবল স্পষ্টভাবেই দেখেছি যে প্রারম্ভিক বিভাগে, আমি বলেছিলাম যে এক্স = [0] তে কোনও সমাধান নেই; 10] ∪ {12}, যদিও পরে, আমি বলি যে 4এর একটি সমাধান আছে। আমি বিরতি সংশোধন করেছি, ধন্যবাদ। :)
চিরু

6

সি, 450 টি অক্ষর

সম্পাদনা: সরানো হয়েছে zero

সম্পাদনা করুন: শুধুমাত্র plusএবং ব্যবহার করেminus

আমি সংক্ষিপ্ততম অভিব্যক্তি অনুসন্ধান করেছি যা চরগুলি যোগ করে এবং শর্তটি সত্য রাখে। আমি খুঁজে পেয়েছি plus ten plus five15 দীর্ঘ এবং স্ট্রিংয়ে 15 টি যুক্ত করেছে।

আমার পক্ষে প্রথম 15 টি সংখ্যার জন্য কেবলমাত্র প্রকাশের দরকার যা কোনও সম্ভাব্য সংখ্যা প্রকাশ করতে অসম্ভব নয় express 12 হ'ল সবচেয়ে বড় অসম্ভব সংখ্যা, সুতরাং এটি 28 টির চেয়ে কম হার্ডকোড সংখ্যার পক্ষে যথেষ্ট।

4 = চার
১১ = ছয়টি পাঁচটি
13 = আটটি পাঁচটি
14 = বিশ বিয়োগ ছয়
15 = পঁচা বিয়োগ পাঁচ
16 = আঠারো বিয়োগ 2
17 = চৌদ্দটি আরও তিনটি
18 = বাইশ বিয়োগফল চার
20 = তিরিশটি বিয়োগফল বারো
21 = বিশটি আরও দুটি বিয়োগফল
22 = বিশটি আরও চারটি বিয়োগ 2
23 = তিরিশ বিয়োগ আটটি প্লাস এক
24 = বিশটি প্লাস আট বিয়োগফল
25 = বিশটি প্লাস আট বিয়োগফল
27 = আট আটটি বিয়োগ ছয়টি পাঁচটি

আমরা উপরের সংখ্যার মধ্যে x * 15 + এক হিসাবে প্রতিটি সংখ্যা> 27 লিখতে পারি।

Golfed

#define P" plus "
#define M" minus "
#define U"four"
#define F"five"
#define E"eight"
#define W"twenty"
#define A"ten"P F P
*e[]={0,0,0,0,U,0,0,0,0,0,0,F P"six",0,E P F,W M"six",W M F,E"een"M"two",U"teen"P"three",W" two"M U,A U,"thirty two"M"twelve",W P"two"M"one",W M"two"P U,"thirty"P"one"M E,W P E M U,W M"three"P E,A F P"six",W" "E M"six"P F};main(n){n=atoi(1[(int*)1[&n]]);for(printf("%d: ",n);n>27;n-=15)printf(A);puts(e[n]?e[n]:"impossible");}

পঠনযোগ্য কোড

#include <stdio.h>
#include <stdlib.h>

// add fifteen to string, both as value and as character count (without spaces)
const char *add_fifteen = "plus ten plus five";

// table with hardcoded expressions
// NOTE: we could calculate 19, 26, 28 and 29 from 4, 11, 13 and 14
// but we would need more logic, so we hardcode those 4 numbers too.
const char *expressions[30]={"impossible", "impossible", "impossible", "impossible",
    "four", "impossible", "impossible", "impossible", "impossible",
    "impossible", "impossible", "five plus six", "impossible",
    "eight plus five", "twenty minus six",
    "fourteen plus one", "eighteen minus two", "fourteen plus three",
    "twenty two minus four", "four plus ten plus five",
    "thirty two minus twelve", "nine plus seven plus five",
    "twenty plus four minus two", "twelve plus seven plus four",
    "twenty plus eight minus four", "twenty plus eight minus three",
    "five plus six plus ten plus five", "twenty eight minus six plus five",
    "eight plus five plus ten plus five", "seven plus seven plus ten plus five"};

int main(int argc,char *argv[])
{
    int n = strtol(argv[1], NULL, 0);
    int fifteens = 0;

    printf("%d: ", n);

    // how many times do we need to add fifteen?
    if(n>29){
        fifteens=(n/15) - 1;
        n -= fifteens*15; // ensure 30 > n >= 15, so we don't get "impossible"
    }

    // look up the expression for n
    printf("%s", expressions[n]);

    // add fifteens till we are done
    while(fifteens-- > 0) {
        printf(" %s", add_fifteen);
    }

    printf("\n");
    return 0;
}

2
আপনার কোডটি কীভাবে কাজ করে তা পুরোপুরি নিশ্চিত নয়, তবে যেহেতু প্রশ্নটিতে বলা হয়েছে যে all numbers used in the output must be positive integersআপনি #define Z "zero"জেডের উদাহরণ সহ আপনার কোডটি সরিয়ে ফেলতে পারেন যেহেতু আপনার কখনই এটি ব্যবহার করা উচিত নয়?
কিউইক্স

"প্লাস বারো "টি 12 টি বর্ণ। এটি কি আপনার কোডটি সংক্ষিপ্ত করতে সহায়তা করবে?
isaacg

আমি এটি সংক্ষিপ্ত করে plus twelve
তুলব, হতাশ

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