कुछ मानकों को तोड़ो! [बन्द है]


14

हर कोई जानता है कि "नियम तोड़े जाने के लिए बने हैं!", इसलिए यहां आपका काम है:

किसी भी भाषा में कुछ कोड लिखें जो एक मानक को तोड़ता है। यह कुछ भी हो सकता है, एक यूएसबी केबल नीचे 240 वोल्ट डाल अपने रूटर पिंग करने से ( नहीं एक 10 एमबी पैकेट के साथ किसी और की वेबसाइट!)! (कोई विचार नहीं मिलता है, ये दोनों संभवतः सभी प्रकार के प्रलय का कारण बनेंगे!)

10 दिनों के बाद सबसे उत्कीर्ण जवाब (यानी सबसे गंभीर उल्लंघन) जीत जाएगा!

नियम:

  1. कोड को समझाया जाना चाहिए।
  2. जिस मानक को आप तोड़ रहे हैं, उससे जुड़ा होना चाहिए, और आपको यह बताना चाहिए कि आप क्या कर रहे हैं (इसका अर्थ है 1)। अन्यथा उत्तर स्वीकार नहीं किए जाएंगे।
  3. उत्तर जो केवल दुभाषिया को क्रैश करते हैं, या इसे रोकना काम करना स्वीकार नहीं करेंगे। मैं कुछ रचनात्मक उत्तर चाहूंगा, न कि केवल कुछ चीज़ों को चिपकाना, जैसे 𐒢आईडीएलई (जो इसे क्रैश करता है)
  4. बग को उजागर करने की अनुमति नहीं है, जब तक कि वे एक मानक नहीं तोड़ते। अन्यथा उत्तर स्वीकार नहीं किए जाएंगे

शुरू करो, और मज़े करो!


18
इस साइट पर अधिकांश उत्तर कम से कम एक कोडिंग मानक का उल्लंघन करते हैं ...
कॉमिन्टर्न

2
यह मेरे साथ मूल नहीं है, लेकिन ... एनिमेटेड JPEG!
केंडल फ्रे

अरे, आप सही हैं
TheDoctor

4
मेरे छात्र कोड लिखते समय किसी भी QA मानकों का उल्लंघन करते हैं। वे जीतने लायक हैं!
मैक्स राइड

1
प्रेरणा "जावा में GOTO को कैसे लागू करें" पर हो सकती है: stackoverflow.com/questions/2430782/…
Abulafia

जवाबों:


68

अजगर

print 'Hello World'

स्पष्टीकरण:

प्रोग्रामिंग पहेलियाँ और कोड गोल्फ स्टैक एक्सचेंज के मानक के लिए है

प्रश्न को ध्यान से पढ़ें। क्या, विशेष रूप से, सवाल पूछ रहा है? सुनिश्चित करें कि आपका उत्तर यह प्रदान करता है


यह कोड प्रश्न का उत्तर नहीं दे रहा है, इसलिए यह मानक को तोड़ता है।


1
या अजगर 2 में एक मानक को तोड़ने के लिए,print("hello world")
TheDoctor

10
@ डॉक्टर, लेकिन अगर मैं अजगर मानक को तोड़ता हूं, तो मैं कोडगुल्फ़ को नहीं तोड़ सकता। ई मानक
user12205

18
लेकिन अगर यह प्रश्न इस प्रश्न के लिए मानक को तोड़ता है, और उसे समझाता है, तो यह मानक को नहीं तोड़ रहा है। लेकिन फिर यह अमान्य है और इसे पायथन मानक को तोड़ना चाहिए, जो यह नहीं है! एक विरोधाभास - यह वास्तविकता के बहुत मानकों को तोड़ता है!
कोजिरो

2
जैसा कि यह एक लोकप्रियता प्रतियोगिता है, मुझे इस अविश्वसनीय रचनात्मक जवाब के साथ जाना है जिसमें सबसे अधिक वोट हैं! भले ही इससे कुछ भी टूटने / पुनः आरंभ करने का कारण न बने :( हालांकि; अच्छा जवाब। अच्छी तरह से किया गया :)
जॉर्ज

5
यह एक वैध जवाब है, एक वैध जवाब नहीं होने के कारण।
प्राइमो सिप

24

C
यहां एक ऐसा फैक्टोरियल प्रोग्राम है, जो उबंटू 12.04 पर संक्षिप्त रूप से (gcc4.6.3 के साथ) संकलित और चलता है, लेकिन C मानक के अनुसार अपरिभाषित व्यवहार को आमंत्रित करता है क्योंकि मैं इसमें रटना कर सकता हूं। अधिकांश यहां से प्रेरित हैं । शेष कानूनी कोड का एक बहुत बुरा है।

int read(char** src, int into){
  int _r;                             //leading underscores reserved, and
  if (!--into) sscanf(*src,"%d",&into); //_r uninitalized
  *(*(--src)+into)=_r>>360;            //shifting more bits than we have
  while (into-->0) (*src)[into]='.'; //modifying const char argv
  printf(*src); // no return statement
}

main(int argc, const char** const argv){
  union  { int x; float y;} result;
  int f,minus1=0xFFFFFFFF,r,a[]={0};
  r=a[3]&2;                     //accessing past end of array
  result.x=read(&argv[r],--r);  //relying on order of arguments
  for(f=*(int*)&result.y;f;f+=minus1) //type punning/invalid union access,
    r*=f;                            //and unsigned overflow
  printf("%d\n",(&r+2)[-2]); //negative array indexes
}

1
यदि सूचक सरणी के प्रारंभ में इंगित नहीं करता है, तो नकारात्मक सूचकांक पूरी तरह से कानूनी हैं। हेक, यह एक तरह से चारों ओर के बजाय एक सरणी के साथ एक संख्या को सूचीबद्ध करने के लिए कानूनी है।
user2357112

17

एक्सएचटीएमएल

<p>
   <div></div>
</p>

W3C विनिर्देश ( http://www.w3.org/TR/html-markup/p.html#p ):

पी - पैराग्राफ

पी तत्व एक पैराग्राफ का प्रतिनिधित्व करता है।

अनुमत सामग्री

फ़रसिंग सामग्री

ओह मुझे गंदा लग रहा है!

संपादित करें: @xfix ने बताया कि मैं जो त्रुटि प्रदर्शित कर रहा था वह वास्तव में XHTML थी। एचटीएमएल त्रुटि इस कारण कूलर और कम स्पष्ट है जैसे:

<p><div></div><p>हो जाता है <p /><div></div></p>क्योंकि खुद को बंद करने का <div>कारण बनता है <p>। इस प्रकार एक त्रुटि हुई क्योंकि हम एक पैराग्राफ को बंद करने का प्रयास कर रहे हैं जो मौजूद नहीं है।


यह यहां कोई मुद्दा नहीं है। असली मुद्दा यह है कि </p>टैग बिना बंद हुए ही मौजूद है, जैसे कि <div>स्वचालित रूप से बंद हो जाता है <p>
कोनराड बोरोवस्की

@xfix क्या आपके पास उस विनिर्देश का संदर्भ है जहां यह व्यवहार परिभाषित है? डब्लू 3 सत्यापनकर्ता इस त्रुटि के साथ मुझे उम्मीद करेगा कि मुझे लगता है कि आप एक ब्राउज़र कार्यान्वयन का वर्णन कर रहे हैं और स्वयं एचटीएमएल नहीं।
जॉर्ज रीथ

1
आप XHTML के बारे में सोच रहे होंगे। HTML4 और HTML5 में, <p>कुछ टैग्स द्वारा बंद किया गया है। HTML4 सत्यापनकर्ता के लिए, मुझे "P" तत्व के लिए अंतिम टैग मिलता है जो खुला नहीं है।
कोनराड बोरोवस्की

@xfix आप सही हैं! मैं इसे बाद में संपादित करूंगा। चीयर्स
जॉर्ज रीथ

क्या ऐसा है कि आपने कभी विशिष्ट जावा देव HTML नहीं देखा है या क्या आप नहीं चाहते कि कई टूटे हुए मानकों की सूची बनाई जा सके?
एरिक रेपेन

12

HTTP / 1.1: प्रतिक्रिया - स्थिति कोड और कारण वाक्यांश

स्थिति-कोड तत्व 3-अंक है ...

क्या मुझे और जाने की आवश्यकता है? यह स्थिति कोड मानक में परिभाषित कोड में से एक नहीं है। यह आवश्यक श्रेणी अंकों में से एक के साथ भी शुरू नहीं होता है। यह 3 अंक लंबा भी नहीं है।

मेरा ब्राउज़र अभी भी पेज को लोड करने के लिए प्रबंधित करता है।

इसके अलावा, यह उत्तर इस साइट के "मानकों" में से एक को तोड़ देता है :)

आउटपुट (स्थिति रेखा):

HTTP/1.1 0 :)
var http = require("http");
var server = http.createServer(onHttpRequest);
server.listen(80);

function onHttpRequest(request, response)
{
    response.writeHead(0, ":)", { "Content-Type": "text/plain" });
    response.write("Hello, World!");
    response.end();
}

जावास्क्रिप्ट (नोड)


1
जिज्ञासा से बाहर, क्या आपने चार अंकों की स्थिति कोड की कोशिश की? पांच अंकों?
MatrixFrog

@ मैट्रिक्स फ्रॉग मैंने 4 अंकों का कोड आजमाया। ब्राउज़र इसके साथ ठीक था। मैं 0 के साथ गया क्योंकि यह मानक के अधिक टूट जाता है।
केंडल फ्रे

12

मैंने कितने मानकों को तोड़ा?

मैंने वास्तव में कुछ भयानक प्रोग्रामिंग की थी।

पीएचपी

a: goto lol; begin();
b: 
c: echo j; goto h;
d: echo u;
e: echo s;
f: echo t;
g: 
h: echo k; goto o;
i: echo i; goto c;
j: echo l;
k: echo l;
l: echo e;
m: echo d;
n:
o: echo s;
p: echo t; goto u;
q: echo a; goto z;
r: echo n;
s: echo d;
t: echo a;
u: echo r; goto q;
v: echo D; goto i;
w: echo s;
x: 
y:
z: die("!");
lol: goto v;

ईस्टर एग:echo एड पत्र, अगर खड़ी पढ़ा है, पढ़ा जाएगा just killed standarDs!

सिडेनोट: इस कार्यक्रम को चलाने से उस लड़के का नाम होगा जो वास्तव में प्यार करता था goto


1
यदि आप इसे तुरंत बता देते हैं, तो यह "
ईगस्टर

9

सी # - यूनिकोड को तोड़ना

एक स्ट्रिंग को रिवर्स करने के लिए सरल एल्गोरिथ्म:

public string Reverse(string s)
{
    StringBuilder builder = new StringBuilder();
    for (int i = s.Length - 1; i >= 0; i--)
    {
        builder.Append(s[i]);
    }
    return builder.ToString();
}

यह यूनिकोड मानक को तोड़ता है , क्योंकि यह सही ढंग से सरोगेट जोड़े को एक साथ नहीं रखता है, जिससे एक अवैध स्ट्रिंग बनती है। .NET और कई अन्य प्लेटफार्मों / प्रोग्रामिंग भाषाओं में, charयह वास्तव में एक चरित्र नहीं है, लेकिन एक UTF-16 कोड इकाई है।

एनबी: यह भी बदलता है कि कौन सा अक्षर बाद के संयोजन के निशान (उदाहरण के लिए विकृति) के साथ संयुक्त है, जिसका इरादा नहीं हो सकता है या नहीं।


8

जावास्क्रिप्ट

इस पृष्ठ पर कंसोल में इसे चलाएं।

var items = [], p = 1, finish = false, intr = setInterval(function() {
    if (p >= 10) finish = true
    $.get(unescape(escape('http://api.stackexchange.com/2.2/answers?page=' + (p++) + '&pagesize=100&order=desc&sort=votes&site=codegolf&filter=!*LVwAFZ.YnaK-KS*')), function(x) {
        items = items.concat(x.items)
        if (finish) {
            clearInterval(intr)
            onFinish()
        }
    })
}, 500)

function onFinish() {
    var item = items[Math.floor(Math.random() * items.length)]
    document.write(item.body)
}

से प्रेरित

इस साइट पर अधिकांश उत्तर कम से कम एक कोडिंग मानक का उल्लंघन करते हैं ... - 1 घंटे पहले Comintern

यह जो कुछ भी करता है वह कोडगॉल्फ से उठाए गए शीर्ष 1000 में से एक यादृच्छिक उत्तर होता है। (यानी, एक बहुत ही मेटा फैशन में समस्या को हल करना!), आपके पृष्ठ पर फ़ॉर्मेटिंग और सभी के साथ पूरा होता है।


दुर्भाग्य से, यह तकनीकी रूप से नियमों को संतुष्ट नहीं करता है, क्योंकि आउटपुट टूट मानकों के साथ कोड है, इसलिए मैंने इस कोड में एक मानक को तोड़ दिया - मैंने इस्तेमाल किया document.write(ewwww)। मुझे एक लिंक भी प्रदान करना है, इसलिए यहां: डॉक्यूमेंट.राइट को "बुरा व्यवहार" क्यों माना जाता है?

यदि यह "मानकों को तोड़ना" के रूप में नहीं गिना जाता है, तो बस के मामले में, मैंने अपनी स्ट्रिंग को लपेट दिया unescape(escape()), जो एमडीएन के अनुसार, हटा दिया गया है ।

ध्यान दें कि मैं वास्तव में नियमों के चारों ओर पाने के लिए यह सब कर रहा हूं, और इस उत्तर का मुख्य बिंदु इसका आउटपुट है।


नमूना रन (विस्तार करने के लिए छवि पर क्लिक करें):

स्क्रीनशॉट


आपको varमानकों के विपरीत जाने के लिए बयानों को भी हटा देना चाहिए ।
शिमोनस्टर

6

एक्सएमएल

मेरे "आविष्कार" नहीं, मुझे वास्तव में एक्सएमएल के साथ इस तरह काम करना है जो हमें एक बहुत ही गुप्त स्थान से मिलता है:

<?xml version="1.0"?>
<!DOCTYPE data [
  <!ELEMENT data (field2)>
  <!ELEMENT field2 (#PCDATA)>
]>
<data>
  <field1>Rock & Roll</field1>
</data>
<data>
  <field1>Something else</field1>
</data>

अपने स्वयं के एम्बेडेड डीटीडी के खिलाफ मान्य नहीं है, इसमें कई जड़ें और अनसैप्ड एम्परसेंड शामिल हैं। (अन्य उच्च स्तरीय त्रुटियां भी हैं, अस्पष्ट सामग्री मॉडल आदि, यहाँ प्रदर्शित नहीं हैं।) बहुत दुख की बात है।


बहुत गुप्त स्थान क्या है? कुछ महान प्रोग्रामिंग की तरह लगता है वहाँ पर चला जाता है! ;)
जॉर्ज

क्या यह शीर्ष गुप्त एफबीआई कोड है?


6

नेटमैक्स को गैर-सन्निहित बिटमास्क में सेट करने की अनुमति दी गई थी लेकिन RFC 950 द्वारा अत्यधिक हतोत्साहित किया गया था, लेकिन अब इसे RFC 1219 के रूप में मना किया गया है। फिर भी, बीएसडी-लाइक आपको ऐसा करने की अनुमति देते हैं।

IPv4 नेटमास्क एक आईपी पते की तरह, चार बाइट्स का एक संयोजन है। इसका उपयोग गणना करने के लिए किया जाता है, यदि ज्ञात आईपी पते और नेटमास्क वाले दो होस्ट एक ही नेटवर्क पर हैं। सामान्य तौर पर एक आईपी पते में दो भाग होते हैं: नेटवर्क और होस्ट भाग। कहो घर पर आपका नेटवर्क है 192.168.1.1- 192.168.1.254। मेजबान भाग आईपी के पहले तीन बाइट्स हैं, अर्थात् 192.168.1.x। इसका मतलब है कि नेटमास्क है 255.255.255.0, जिसका अर्थ है कि पहले 24 बिट्स नेटवर्क हिस्सा हैं। बाइनरी में मुखौटा जैसा दिखता है 11111111.11111111.11111111.00000000। 1-बिट्स निरंतर हैं। मेरे उदाहरण में, netmask होगा 00010111.00000000.00000000.00101010। तो क्या होगा, अगर नेटमैक्स नॉन-कॉन्टीनस है? दाहिने छोर पर होने के बजाय, होस्ट का हिस्सा पूरे आईपी पते पर बिखरा हुआ है, जिससे यह पढ़ना बहुत मुश्किल है, ठीक यहाँ मेरी व्याख्या की तरह।

इसके बाद कुछ भी काम करने की उम्मीद न करें!

root@Gotthold /v/root# ifconfig en0 inet 47.11.23.42 netmask 23.0.0.42
root@Gotthold /v/root# ifconfig en0 inet
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 8192
    options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
    inet 47.11.23.42 netmask 0x1700002a broadcast 239.255.255.255

अच्छा है, लेकिन एक गैर-सन्निहित बिटमास्क क्या है? Google कुछ भी नहीं लौटाता है जो मेरे लिए सार्थक है। (क्षमा करें!)
जॉर्ज

कुछ अन्वेषणों को जोड़ा गया, शायद यह मदद करता है, मैं नेटवर्किंग चीजों को समझाने में अच्छा नहीं हूं।
मैक्स राइड

1
मैं वास्तव में विंडोज पर गैर-निरंतर नेटमैक्स को हटाने के लिए एक कार्यक्रम का सामना करना पड़ा है (और उसे ठीक करना पड़ा है), एक उपयोगकर्ता एक टाइपो (252 के बजाय 225) बनाने के कारण।
dan04

6

सी

आप कितनी त्रुटियां पा सकते हैं, जो संभवतः अधिकांश कंपनियों को आपके कोड (विशेष रूप से अच्छे) को अस्वीकार करने का कारण बनेगी। इनमें से अधिकांश शायद शैली की गलतियाँ हैं (जो मुझे आशा है कि कोई नहीं करता है), लेकिन इनमें से कुछ अपरिभाषित व्यवहार हैं।

    #define BEGIN {
    #define END }
    #define print printf
    void main(int argv, char* argc, char **args) BEGIN
print("hELLO,"); printf("WORLD");
    END

1. यह मैक्रोज़ को परिभाषित करता है जो सी को किसी अन्य भाषा (सबसे अधिक कोडक दिशानिर्देश) की तरह महसूस करते हैं।
2. mainफ़ंक्शन लौटता है void, जब इसे वापस आना चाहिए int(कार्यान्वयन-परिभाषित व्यवहार)।
3. mainतीन तर्कों के साथ एक फॉर्म का उपयोग करता है, जब यह मानक (अपरिभाषित व्यवहार) नहीं होता है।
4. उन तर्कों में गलत नाम (अधिकांश कोडस्टाइल दिशानिर्देश) हैं।
5. argc(होना चाहिए argv) में गलत प्रकार है। यह होना चाहिए char **, लेकिन यह char *(अपरिभाषित व्यवहार) है।
6. सी और सी ++ घोषणा शैलियों को मिलाकर, जो *स्थिति में भिन्न होते हैं (अधिकांश कोडलाइन दिशानिर्देश लगातार कोड चाहते हैं)।
7. अजीब कोडिंग शैली जहां गहरे कोड को संकेतित किया जाता है (सबसे कोडक दिशानिर्देश)।
8. printfसही हेडर (अपरिभाषित व्यवहार को आयात किए बिना, फ़ंक्शन का उपयोग करना ), क्योंकि यह एक वैरिएड फ़ंक्शन है)।
9. संदेश (अधिकांश भाषा दिशानिर्देश) लिखने के लिए कैप्स लॉक का उपयोग करना।
10. अल्पविराम (अधिकांश भाषा दिशानिर्देश) के बाद कोई स्थान नहीं।
11. एक लाइन पर कई कथन (सबसे अधिक कोड गाइडेंस)।
12. कोई नई लाइन अंत में नहीं छपी, जिसके कारण प्रॉम्प्ट को प्रोग्राम के अंत में लागू किया जा सकता है (कार्यान्वयन-परिभाषित व्यवहार)।
14. रिटर्न वैल्यू परिभाषित नहीं है (कार्यान्वयन-परिभाषित व्यवहार)।


5

जाओ

package main

func main() {
    println(whereas "Standards are important")
    println("But sometimes it's fun to break them" despiteallobjections)
}

http://play.golang.org/p/DrDHF9EMgu

स्पष्टीकरण यहाँ है । "जबकि" और "despiteallobjections" नियम कल्पना में प्रकट नहीं होते हैं, लेकिन लीकर सिर्फ उन पर स्किप करता है, जैसे एक ईस्टर अंडे की तरह। मुझे लगता है कि लिंटर अधिक मानकों के अनुरूप है, क्योंकि यदि आप उस गो प्लेग्राउंड लिंक पर "प्रारूप" पर क्लिक करते हैं, तो आपको एक पार्स त्रुटि मिलती है।


4

जावास्क्रिप्ट

standards:
while(1)
   break standards

स्पष्टीकरण:

"मानकों" लेबल वाला एक समय निकल जाता है।

मानक टूटे:

standards: <-- that one
while(1)
   break standards


2

GML मानकों के एक टन को तोड़ता है। एक टर्नरी ऑपरेटरों के उपयोग की अनुमति नहीं देने की सुंदरता है। टर्नरी ऑपरेटर्स का उपयोग करने के बजाय, GML में मैं यह करूंगा:

z = ( y * ( z > 0 ) ) + ( x * ( z <= 0 ) );

जहां टर्नरी समतुल्य है:

z = ( z > 0 ) ? y : x;

जब आप अन्य ऑपरेशनों में जोड़ना शुरू करते हैं तो विशेष रूप से पहला बहुत बुरा होता है।


1

हास्केल

मेरा कार्यक्रम वास्तव में किसी भी मानक को तोड़ता नहीं है, लेकिन बस बेतरतीब ढंग से उपयोग करने के लिए एक का चयन करता है। यह विभिन्न मानकों पर निष्पक्ष होने की कोशिश करता है। यहाँ मेरा कोड है।

import System.Random
import Control.Applicative
newlines=["\n", "\r\n", "\r"]
pick::[a]->IO a
pick lst=fmap (lst !!) $ randomRIO (0, length lst - 1)

fairUnlines::[String]->IO String
fairUnlines []         = pure ""
fairUnlines [str]      = pure str
fairUnlines (str:strs) = (\x y z->x++y++z) <$>
    pure str <*> pick newlines <*> fairUnlines strs

fairUnlinesस्ट्रिंग्स की एक सूची लेगा, और यादृच्छिक न्यूलाइन वर्ण मानकों का उपयोग करके उनके साथ जुड़ जाएगा। इसके अलावा, यह पहली बार है जब मैंने वास्तव में प्रयोजनीय शैली का उपयोग किया है, आईओ पर कोई भी कम नहीं है।


1

दे घुमा के

अपने उदाहरण से लेना:

ping 192.168.0.1 -c 1 -s 10000

मान लें कि आपका राउटर चालू है 192.168.0.1

नोट: अधिकतम पिंग का आकार 65kb है, इसलिए मैंने 10 mb के स्थान पर 10 kb किया


बहुत बढ़िया जवाब! क्या इसका कोई विंडोज संस्करण है (सिग्विन के अलावा)?
जॉर्ज

@GeHHH - ऐसा नहीं है कि मुझे पता है
TheDoctor

ठीक है - बीमार को फिर से वर्चुअलबॉक्स को आग देना है (यह एक लंबा समय रहा है!)
जॉर्ज

0

जावा

ओह प्रिय, कोई फिर से भूल गया ...

import java.lang.reflect.*;

class Main {
    public static void main(String[] args) throws Exception {

        // Brian forgot to implement the getter again.
        // He's on vacation, so this will have to do.

        // TODO: figure out what he named the fields
        Field field = UsefulObject.class.getDeclaredFields()[1];
        Field objField = UsefulObject.class.getDeclaredFields()[0];

        field.setAccessible(true);
        objField.setAccessible(true);

        Object obj = objField.get(null);
        String s = (String) field.get(obj);

        System.out.println(s);
    }
}
class UsefulObject {

    private static UsefulObject Useful;
    private String usefulField;

    static {
        Useful = new UsefulObject("useful field");
    }
    private UsefulObject(String s) {
        this.usefulField = s;
    }

    public String getUsefulField() { return usefulField; }

    public static UsefulObject getUsefulObject() {
        throw new UnsupportedOperationException("TODO");
    }
}

Usefulक्षेत्र की जानी चाहिए लोअरकेस :useful

सुनिश्चित नहीं है कि यह एक मानक है: बेकार वाइल्डकार्ड आयात (सिर्फ इतना होना चाहिए java.lang.reflect.Fieldकि यह सब उपयोग किया जा रहा है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.