648 条评论

  • i love gd cologne

    • i love gd cologne

      • i love gd cologne

        • 5 left!!!

          • i love gd cologne

            • i love gd cologne

              • i love gd cologne

                • i love gd cologne

                  • i love gd cologne

                    • i love gd cologne

                      • i love gd cologne

                        • i love gd cologne

                          • i love gd cologne

                            • i love gd cologne

                              • 91

                                • 91

                                  • 91

                                    • 91

                                      • 91

                                        • 😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊

                                          • 😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊

                                            • v 您输入的内容似乎只有一个字母“v”,这可能是一个不完整的输入或测试消息。

                                              如果您有具体的问题、需要帮助的事项,或者想让我执行某个任务,请完整地告诉我,我会尽力协助您。比如:

                                              您想查询某个知识或概念?

                                              您需要我帮忙写作、翻译或修改文本?

                                              您遇到了什么技术或生活问题?

                                              请随时补充说明,我很乐意帮忙。😊

                                              用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

                                              没有参数   显示帮助。这与键入 /? 是一样的。
                                              /?         显示帮助。这与不键入任何选项是一样的。
                                              /i         显示图形用户界面(GUI)。
                                                         这必须是第一个选项。
                                              /l         注销。这不能与 /m 或 /d 选项一起使用。
                                              /s         关闭计算机。
                                              /sg        关闭计算机。在下一次启动时,如果启用了
                                                         自动重启登录,则将自动登录并锁定上次交互用户。
                                                         登录后,重启任何已注册的应用程序。
                                              /r         完全关闭并重启计算机。
                                              /g         完全关闭并重启计算机。重新启动系统后,
                                                         如果启用了自动重启登录,则将自动登录并
                                                         锁定上次交互用户。
                                                         登录后,重启任何已注册的应用程序。
                                              /a         中止系统关闭。
                                                         这只能在超时期间使用。
                                                         与 /fw 结合使用,以清除任何未完成的至固件的引导。
                                              /p         关闭本地计算机,没有超时或警告。
                                                         可以与 /d 和 /f 选项一起使用。
                                              /h         休眠本地计算机。
                                                         可以与 /f 选项一起使用。
                                              /hybrid    执行计算机关闭并进行准备以快速启动。
                                                         必须与 /s 选项一起使用。
                                              /fw        与关闭选项结合使用,使下次启动转到
                                                         固件用户界面。
                                              /e         记录计算机意外关闭的原因。
                                              /o         转到高级启动选项菜单并重新启动计算机。
                                                         必须与 /r 选项一起使用。
                                              /m \\computer 指定目标计算机。
                                              /t xxx     将关闭前的超时时间设置为 xxx 秒。
                                                         有效范围是 0-315360000 (10 年),默认值为 30。
                                                         如果超时期限大于 0,则 /f 参数为
                                                         /f 参数。
                                              /c "comment" 注释重启或关闭的原因。
                                                         最多允许 512 个字符。
                                              /f         强制关闭正在运行的应用程序而不事先警告用户。
                                                         当大于 0 的值为
                                              

                                              时,隐含 /f 参数 则默示为 /f 参数。 /d [p|u:]xx:yy 提供重新启动或关闭的原因。 p 指示重启或关闭是计划内的。 u 指示原因是用户定义的。 如果未指定 p 和 u,则 重新启动或关闭 是计划外的。 xx 是主要原因编号(小于 256 的正整数)。 yy 是次要原因编号(小于 65536 的正整数)。

                                              此计算机上的原因: (E = 预期 U = 意外 P = 计划内,C = 自定义) 类别 主要 次要 标题

                                              U 0 0 其他(计划外) E 0 0 其他(计划外) E P 0 0 其他(计划内) U 0 5 其他故障: 系统没有反应 E 1 1 硬件: 维护(计划外) E P 1 1 硬件: 维护(计划内) E 1 2 硬件: 安装(计划外) E P 1 2 硬件: 安装(计划内) E 2 2 操作系统: 恢复(计划外) E P 2 2 操作系统: 恢复(计划内) P 2 3 操作系统: 升级(计划内) E 2 4 操作系统: 重新配置(计划外) E P 2 4 操作系统: 重新配置(计划内) P 2 16 操作系统: Service Pack (计划内) 2 17 操作系统: 热修补(计划外) P 2 17 操作系统: 热修补(计划内) 2 18 操作系统: 安全修补(计划外) P 2 18 操作系统: 安全修补(计划内) E 4 1 应用程序: 维护(计划外) E P 4 1 应用程序: 维护(计划内) E P 4 2 应用程序: 安装(计划内) E 4 5 应用程序: 没有反应 E 4 6 应用程序: 不稳定 U 5 15 系统故障: 停止错误 U 5 19 安全问题(计划外) E 5 19 安全问题(计划外) E P 5 19 安全问题(计划内) E 5 20 网络连接丢失(计划外) U 6 11 电源故障: 电线被拔掉 U 6 12 电源故障: 环境 P 7 0 旧版 API 关机 看到了,您贴出了 Windows 系统 shutdown 命令的完整帮助文档。

                                              这通常意味着您想了解如何使用这个命令,或者想执行某个具体的关机/重启操作。既然您已经找到了帮助信息,我直接为您提炼最常用、最实用的几种用法,方便您快速上手:

                                              🚀 最常用命令速查 操作目标 命令示例 说明 立即关机 shutdown /s /t 0 /s 代表关机,/t 0 代表等待 0 秒(立刻执行)。 1小时后关机 shutdown /s /t 3600 /t 后跟秒数,3600秒即1小时。适合定时任务。 立即重启 shutdown /r /t 0 /r 代表重启。 休眠电脑 shutdown /h 将电脑休眠(需系统支持)。 取消关机/重启 shutdown /a 如果在倒计时期间改变主意,可用此命令中止。 注销当前用户 shutdown /l 等同于点击“注销”。 远程重启 shutdown /r /m \192.168.1.100 重启局域网内指定IP的电脑(需有权限)。 ⚠️ 几个关键注意点 强制关闭(/f):如果您设置了 /t 0(立即执行),系统会默认带上 /f 参数,强制关闭所有程序而不保存。请务必先保存好工作再执行。

                                              倒计时默认值:如果不写 /t,默认倒计时是 30 秒。

                                              注释功能(/c):如果想给重启加个备注,可以用 shutdown /r /t 300 /c "系统更新,5分钟后重启",其他用户会看到这个提醒。

                                              记录原因(/d):企业环境中可以用 /d 参数记录关机原因(如维护、升级),方便后续审计。

                                              您是想执行上述某个操作,还是想了解更具体的参数(比如远程关机或添加注释)? 如果是为了解决某个实际问题(例如“想设置晚上12点自动关机”),也可以告诉我,我可以帮您写出完整的命令或脚本。😊

                                              • 背包 DP 前置知识:动态规划部分简介.

                                                引入 在具体讲何为「背包 dp」前,先来看如下的例题:

                                                「USACO07 DEC」Charm Bracelet 题意概要:有 𝑛 n 个物品和一个容量为 𝑊 W 的背包,每个物品有重量 𝑤𝑖 w_{i} 和价值 𝑣𝑖 v_{i} 两种属性,要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量.

                                                在上述例题中,由于每个物体只有两种可能的状态(取与不取),对应二进制中的 0 0 和 1 1,这类问题便被称为「0-1 背包问题」.

                                                0-1 背包 解释 例题中已知条件有第 𝑖 i 个物品的重量 𝑤𝑖 w_{i},价值 𝑣𝑖 v_{i},以及背包的总容量 𝑊 W.

                                                设 DP 状态 𝑓𝑖,𝑗 f_{i,j} 为在只能放前 𝑖 i 个物品的情况下,容量为 𝑗 j 的背包所能达到的最大总价值.

                                                考虑转移.假设当前已经处理好了前 𝑖 −1 i-1 个物品的所有状态,那么对于第 𝑖 i 个物品,当其不放入背包时,背包的剩余容量不变,背包中物品的总价值也不变,故这种情况的最大价值为 𝑓𝑖−1,𝑗 f_{i-1,j};当其放入背包时,背包的剩余容量会减小 𝑤𝑖 w_{i},背包中物品的总价值会增大 𝑣𝑖 v_{i},故这种情况的最大价值为 𝑓𝑖−1,𝑗−𝑤𝑖 +𝑣𝑖 f_{i-1,j-w_{i}}+v_{i}.

                                                由此可以得出状态转移方程:

                                                𝑓𝑖,𝑗=max(𝑓𝑖−1,𝑗,𝑓𝑖−1,𝑗−𝑤𝑖+𝑣𝑖)

                                                f_{i,j}=\max(f_{i-1,j},f_{i-1,j-w_{i}}+v_{i}) 这里如果直接采用二维数组对状态进行记录,会出现 MLE.可以考虑改用滚动数组的形式来优化.

                                                由于对 𝑓𝑖 f_i 有影响的只有 𝑓𝑖−1 f_{i-1},可以去掉第一维,直接用 𝑓𝑖 f_{i} 来表示处理到当前物品时背包容量为 𝑖 i 的最大价值,得出以下方程:

                                                𝑓𝑗=max(𝑓𝑗,𝑓𝑗−𝑤𝑖+𝑣𝑖)

                                                f_j=\max \left(f_j,f_{j-w_i}+v_i\right) 务必牢记并理解这个转移方程,因为大部分背包问题的转移方程都是在此基础上推导出来的.

                                                实现 还有一点需要注意的是,很容易写出这样的 错误核心代码:

                                                C++ Python

                                                for (int i = 1; i <= n; i++) for (int l = 0; l <= W - w[i]; l++) f[l + w[i]] = max(f[l] + v[i], f[l + w[i]]); // 由 f[i][l + w[i]] = max(max(f[i - 1][l + w[i]], f[i - 1][l] + v[i]), // f[i][l + w[i]]); 简化而来

                                                这段代码哪里错了呢?枚举顺序错了.

                                                仔细观察代码可以发现:对于当前处理的物品 𝑖 i 和当前状态 𝑓𝑖,𝑗 f_{i,j},在 𝑗 ⩾𝑤𝑖 j\geqslant w_{i} 时,𝑓𝑖,𝑗 f_{i,j} 是会被 𝑓𝑖,𝑗−𝑤𝑖 f_{i,j-w_{i}} 所影响的.这就相当于物品 𝑖 i 可以多次被放入背包,与题意不符.(事实上,这正是完全背包问题的解法)

                                                为了避免这种情况发生,我们可以改变枚举的顺序,从 𝑊 W 枚举到 𝑤𝑖 w_{i},这样就不会出现上述的错误,因为 𝑓𝑖,𝑗 f_{i,j} 总是在 𝑓𝑖,𝑗−𝑤𝑖 f_{i,j-w_{i}} 前被更新.

                                                因此实际核心代码为

                                                C++ Python

                                                for (int i = 1; i <= n; i++) for (int l = W; l >= w[i]; l--) f[l] = max(f[l], f[l - w[i]] + v[i]);

                                                例题代码 完全背包 解释 完全背包模型与 0-1 背包类似,与 0-1 背包的区别仅在于一个物品可以选取无限次,而非仅能选取一次.

                                                我们可以借鉴 0-1 背包的思路,进行状态定义:设 𝑓𝑖,𝑗 f_{i,j} 为只能选前 𝑖 i 个物品时,容量为 𝑗 j 的背包可以达到的最大价值.

                                                需要注意的是,虽然定义与 0-1 背包类似,但是其状态转移方程与 0-1 背包并不相同.

                                                过程 可以考虑一个朴素的做法:对于第 𝑖 i 件物品,枚举其选了多少个来转移.这样做的时间复杂度是 𝑂(𝑛3) O(n^3) 的.

                                                状态转移方程如下:

                                                𝑓𝑖,𝑗= +∞ max 𝑘=0

                                                (𝑓𝑖−1,𝑗−𝑘×𝑤𝑖+𝑣𝑖×𝑘)

                                                f_{i,j}=\max_{k=0}^{+\infty}(f_{i-1,j-k\times w_i}+v_i\times k) 考虑做一个简单的优化.可以发现,对于 𝑓𝑖,𝑗 f_{i,j},只要通过 𝑓𝑖,𝑗−𝑤𝑖 f_{i,j-w_i} 转移就可以了.因此状态转移方程为:

                                                𝑓𝑖,𝑗=max(𝑓𝑖−1,𝑗,𝑓𝑖,𝑗−𝑤𝑖+𝑣𝑖)

                                                f_{i,j}=\max(f_{i-1,j},f_{i,j-w_i}+v_i) 理由是当我们这样转移时,𝑓𝑖,𝑗−𝑤𝑖 f_{i,j-w_i} 已经由 𝑓𝑖,𝑗−2×𝑤𝑖 f_{i,j-2\times w_i} 更新过,那么 𝑓𝑖,𝑗−𝑤𝑖 f_{i,j-w_i} 就是充分考虑了第 𝑖 i 件物品所选次数后得到的最优结果.换言之,我们通过局部最优子结构的性质重复使用了之前的枚举过程,优化了枚举的复杂度.

                                                与 0-1 背包相同,我们可以将第一维去掉来优化空间复杂度.如果理解了 0-1 背包的优化方式,就不难明白压缩后的循环是正向的(也就是上文中提到的错误优化).

                                                「Luogu P1616」疯狂的采药 例题代码 多重背包 多重背包也是 0-1 背包的一个变式.与 0-1 背包的区别在于每种物品有 𝑘𝑖 k_i 个,而非一个.

                                                一个很朴素的想法就是:把「每种物品选 𝑘𝑖 k_i 次」等价转换为「有 𝑘𝑖 k_i 个相同的物品,每个物品选一次」.这样就转换成了一个 0-1 背包模型,套用上文所述的方法就可已解决.状态转移方程如下:

                                                𝑓𝑖,𝑗= 𝑘𝑖 max 𝑘=0

                                                (𝑓𝑖−1,𝑗−𝑘×𝑤𝑖+𝑣𝑖×𝑘)

                                                f_{i,j}=\max_{k=0}^{k_i}(f_{i-1,j-k\times w_i}+v_i\times k) 时间复杂度 𝑂(𝑊∑𝑛 𝑖=1𝑘𝑖) O(W\sum_{i=1}^nk_i).

                                                核心代码 二进制分组优化 考虑优化.我们仍考虑把多重背包转化成 0-1 背包模型来求解.

                                                解释 显然,复杂度中的 𝑂(𝑛𝑊) O(nW) 部分无法再优化了,我们只能从 𝑂(∑𝑘𝑖) O(\sum k_i) 处入手.为了表述方便,我们用 𝐴𝑖,𝑗 A_{i,j} 代表第 𝑖 i 种物品拆分出的第 𝑗 j 个物品.

                                                在朴素的做法中,∀𝑗 ≤𝑘𝑖 \forall j\le k_i,𝐴𝑖,𝑗 A_{i,j} 均表示相同物品.那么我们效率低的原因主要在于我们进行了大量重复性的工作.举例来说,我们考虑了「同时选 𝐴𝑖,1,𝐴𝑖,2 A_{i,1},A_{i,2}」与「同时选 𝐴𝑖,2,𝐴𝑖,3 A_{i,2},A_{i,3}」这两个完全等效的情况.这样的重复性工作我们进行了许多次.那么优化拆分方式就成为了解决问题的突破口.

                                                过程 我们可以通过「二进制分组」的方式使拆分方式更加优美.

                                                具体地说就是令 𝐴𝑖,𝑗(𝑗∈[0,⌊log2⁡(𝑘𝑖+1)⌋−1]) A_{i,j}\left(j\in\left[0,\lfloor \log_2(k_i+1)\rfloor-1\right]\right) 分别表示由 2𝑗 2^{j} 个单个物品「捆绑」而成的大物品.特殊地,若 𝑘𝑖 +1 k_i+1 不是 2 2 的整数次幂,则需要在最后添加一个由 𝑘𝑖 −2⌊log2⁡(𝑘𝑖+1)⌋−1 k_i-2^{\lfloor \log_2(k_i+1)\rfloor-1} 个单个物品「捆绑」而成的大物品用于补足.

                                                举几个例子:

                                                6 =1 +2 +3 6=1+2+3 8 =1 +2 +4 +1 8=1+2+4+1 18 =1 +2 +4 +8 +3 18=1+2+4+8+3 31 =1 +2 +4 +8 +16 31=1+2+4+8+16 显然,通过上述拆分方式,可以表示任意 ≤𝑘𝑖 \le k_i 个物品的等效选择方式.将每种物品按照上述方式拆分后,使用 0-1 背包的方法解决即可.

                                                时间复杂度 𝑂(𝑊∑𝑛 𝑖=1log2⁡𝑘𝑖) O(W\sum_{i=1}^n\log_2k_i)

                                                实现 二进制分组代码 单调队列优化 见 单调队列/单调栈优化.

                                                习题:「Luogu P1776」宝物筛选_NOI 导刊 2010 提高(02)

                                                混合背包 混合背包就是将前面三种的背包问题混合起来,有的只能取一次,有的能取无限次,有的只能取 𝑘 k 次.

                                                这种题目看起来很吓人,可是只要领悟了前面几种背包的中心思想,并将其合并在一起就可以了.下面给出伪代码:

                                                for (循环物品种类) { if (是 0 - 1 背包) 套用 0 - 1 背包代码; else if (是完全背包) 套用完全背包代码; else if (是多重背包) 套用多重背包代码; } 例题 「Luogu P1833」樱花 有 𝑛 n 种樱花树和长度为 𝑇 T 的时间,有的樱花树只能看一遍,有的樱花树最多看 𝐴𝑖 A_{i} 遍,有的樱花树可以看无数遍.每棵樱花树都有一个美学值 𝐶𝑖 C_{i},求在 𝑇 T 的时间内看哪些樱花树能使美学值最高.

                                                核心代码 习题:HDU 5410 CRB and His Birthday

                                                二维费用背包 「Luogu P1855」榨取 kkksc03 有 𝑛 n 个任务需要完成,完成第 𝑖 i 个任务需要花费 𝑡𝑖 t_i 分钟,产生 𝑐𝑖 c_i 元的开支.

                                                现在有 𝑇 T 分钟时间,𝑊 W 元钱来处理这些任务,求最多能完成多少任务.

                                                这道题是很明显的 0-1 背包问题,可是不同的是选一个物品会消耗两种价值(经费、时间),只需在状态中增加一维存放第二种价值即可.

                                                这时候就要注意,再开一维存放物品编号就不合适了,因为容易 MLE.

                                                实现

                                                C++ Python

                                                for (int k = 1; k <= n; k++) for (int i = m; i >= mi; i--) // 对经费进行一层枚举 for (int j = t; j >= ti; j--) // 对时间进行一层枚举 dp[i][j] = max(dp[i][j], dp[i - mi][j - ti] + 1);

                                                分组背包 「Luogu P1757」通天之分组背包 有 𝑛 n 件物品和一个大小为 𝑚 m 的背包,第 𝑖 i 个物品的价值为 𝑤𝑖 w_i,体积为 𝑣𝑖 v_i.同时,每个物品属于一个组,同组内最多只能选择一个物品.求背包能装载物品的最大总价值.

                                                这种题怎么想呢?其实是从「在所有物品中选择一件」变成了「从当前组中选择一件」,于是就对每一组进行一次 0-1 背包就可以了.

                                                再说一说如何进行存储.我们可以将 𝑡𝑘,𝑖 t_{k,i} 表示第 𝑘 k 组的第 𝑖 i 件物品的编号是多少,再用 cnt𝑘 \mathit{cnt}_k 表示第 𝑘 k 组物品有多少个.

                                                实现

                                                C++ Python

                                                for (int k = 1; k <= ts; k++) // 循环每一组 for (int i = m; i >= 0; i--) // 循环背包容量 for (int j = 1; j <= cnt[k]; j++) // 循环该组的每一个物品 if (i >= w[t[k][j]]) // 背包容量充足 dp[i] = max(dp[i], dp[i - w[t[k][j]]] + c[t[k][j]]); // 像0-1背包一样状态转移

                                                这里要注意:一定不能搞错循环顺序,这样才能保证正确性.

                                                有依赖的背包 「Luogu P1064」金明的预算方案 金明有 𝑛 n 元钱,想要买 𝑚 m 个物品,第 𝑖 i 件物品的价格为 𝑣𝑖 v_i,重要度为 𝑝𝑖 p_i.有些物品是从属于某个主件物品的附件,要买这个物品,必须购买它的主件.

                                                目标是让所有购买的物品的 𝑣𝑖 ×𝑝𝑖 v_i \times p_i 之和最大.

                                                考虑分类讨论.对于一个主件和它的若干附件,有以下几种可能:只买主件,买主件 + 某些附件.因为这几种可能性只能选一种,所以可以将这看成分组背包.

                                                如果是多叉树的集合,则要先算子节点的集合,最后算父节点的集合.

                                                泛化物品的背包 这种背包,没有固定的费用和价值,它的价值是随着分配给它的费用而定.在背包容量为 𝑉 V 的背包问题中,当分配给它的费用为 𝑣𝑖 v_i 时,能得到的价值就是 ℎ(𝑣𝑖) h\left(v_i\right).这时,将固定的价值换成函数的引用即可.

                                                杂项 小优化 根据贪心原理,当费用相同时,只需保留价值最高的;当价值一定时,只需保留费用最低的;当有两件物品 𝑖,𝑗 i,j 且 𝑖 i 的价值大于 𝑗 j 的价值并且 𝑖 i 的费用小于 𝑗 j 的费用时,只需保留 𝑖 i.

                                                背包问题变种 输出方案 输出方案其实就是记录下来背包中的某一个状态是怎么推出来的.我们可以用 𝑔𝑖,𝑣 g_{i,v} 表示第 𝑖 i 件物品占用空间为 𝑣 v 的时候是否选择了此物品.然后在转移时记录是选用了哪一种策略(选或不选).输出时的伪代码:

                                                int v = V; // 记录当前的存储空间

                                                // 因为最后一件物品存储的是最终状态,所以从最后一件物品进行循环 for (从最后一件循环至第一件) { if (g[i][v]) { 选了第 i 项物品; v -= 第 i 项物品的重量; } else { 未选第 i 项物品; } } 求方案数 对于给定的一个背包容量、物品费用、其他关系等的问题,求装到一定容量的方案总数.

                                                这种问题就是把求最大值换成求和即可.

                                                例如 0-1 背包问题的转移方程就变成了:

                                                dp𝑗←dp𝑗+dp𝑗−𝑐𝑖(𝑗≥𝑐𝑖)

                                                \mathit{dp}_j \leftarrow \mathit{dp}j + \mathit{dp}{j-c_i} \qquad (j \ge c_i) 初始条件:dp0 =1 \mathit{dp}_0=1

                                                因为当容量为 0 0 时也有一个方案,即什么都不装.

                                                求最优方案总数 要求最优方案总数,我们要对 0-1 背包里的 dp \mathit{dp} 数组的定义稍作修改,DP 状态 𝑓𝑖,𝑗 f_{i,j} 为在只能放前 𝑖 i 个物品的情况下,容量为 𝑗 j 的背包「正好装满」所能达到的最大总价值.

                                                这样修改之后,每一种 DP 状态都可以用一个 𝑔𝑖,𝑗 g_{i,j} 来表示方案数.

                                                𝑓𝑖,𝑗 f_{i,j} 表示只考虑前 𝑖 i 个物品时背包体积「正好」是 𝑗 j 时的最大价值.

                                                𝑔𝑖,𝑗 g_{i,j} 表示只考虑前 𝑖 i 个物品时背包体积「正好」是 𝑗 j 时的方案数.

                                                转移方程:

                                                如果 𝑓𝑖,𝑗 =𝑓𝑖−1,𝑗 f_{i,j} = f_{i-1,j} 且 𝑓𝑖,𝑗 ≠𝑓𝑖−1,𝑗−𝑣 +𝑤 f_{i,j} \neq f_{i-1,j-v}+w 说明我们此时不选择把物品放入背包更优,方案数由 𝑔𝑖−1,𝑗 g_{i-1,j} 转移过来,

                                                如果 𝑓𝑖,𝑗 ≠𝑓𝑖−1,𝑗 f_{i,j} \neq f_{i-1,j} 且 𝑓𝑖,𝑗 =𝑓𝑖−1,𝑗−𝑣 +𝑤 f_{i,j} = f_{i-1,j-v}+w 说明我们此时选择把物品放入背包更优,方案数由 𝑔𝑖−1,𝑗−𝑣 g_{i-1,j-v} 转移过来,

                                                如果 𝑓𝑖,𝑗 =𝑓𝑖−1,𝑗 f_{i,j} = f_{i-1,j} 且 𝑓𝑖,𝑗 =𝑓𝑖−1,𝑗−𝑣 +𝑤 f_{i,j} = f_{i-1,j-v}+w 说明放入或不放入都能取得最优解,方案数由 𝑔𝑖−1,𝑗 g_{i-1,j} 和 𝑔𝑖−1,𝑗−𝑣 g_{i-1,j-v} 转移过来.

                                                初始条件:

                                                memset(f, 0xcf, sizeof(f)); // 因为是求最大值,初始化为负无穷,避免没有装满而进行了转移 // 若求最小值,则初始化为正无穷0x3f f[0] = 0; g[0] = 1; // 什么都不装是一种方案 因为背包体积最大值有可能装不满,所以最优解不一定是 𝑓𝑚 f_{m}.

                                                最后我们通过找到最优解的价值,把 𝑔𝑗 g_{j} 数组里取到最优解的所有方案数相加即可.

                                                实现

                                                for (int i = 0; i < N; i++) { for (int j = V; j >= v[i]; j--) { int tmp = std::max(dp[j], dp[j - v[i]] + w[i]); int c = 0; if (tmp == dp[j]) c += cnt[j]; // 如果从dp[j]转移 if (tmp == dp[j - v[i]] + w[i]) c += cnt[j - v[i]]; // 如果从dp[j-v[i]]转移 dp[j] = tmp; cnt[j] = c; } } int max = 0; // 寻找最优解 for (int i = 0; i <= V; i++) { max = std::max(max, dp[i]); } int res = 0; for (int i = 0; i <= V; i++) { if (dp[i] == max) { res += cnt[i]; // 求和最优解方案数 } } 背包的第 k 优解 普通的 0-1 背包是要求最优解,在普通的背包 DP 方法上稍作改动,增加一维用于记录当前状态下的前 k 优解,即可得到求 0-1 背包第 𝑘 k 优解的算法. 具体来讲:dpi,j,k \mathit{dp_{i,j,k}} 记录了前 𝑖 i 个物品中,选择的物品总体积为 𝑗 j 时,能够得到的第 𝑘 k 大的价值和.这个状态可以理解为将普通 0-1 背包只用记录一个数据的 dpi,j \mathit{dp_{i,j}} 扩展为记录一个有序的优解序列.转移时,普通背包最优解的求法是 dpi,j =max(dpi−1,j,dpi−1,j−vi +𝑤𝑖) \mathit{dp_{i,j}}=\max(\mathit{dp_{i-1,j}},\mathit{dp_{i-1,j-v_{i}}}+w_{i}),现在我们则是要合并 dpi−1,j \mathit{dp_{i-1,j}},dpi−1,j−vi +𝑤𝑖 \mathit{dp_{i-1,j-v_{i}}}+w_{i} 这两个大小为 𝑘 k 的递减序列,并保留合并后前 𝑘 k 大的价值记在 dpi,j \mathit{dp_{i,j}} 里,这一步利用双指针法,复杂度是 𝑂(𝑘) O(k) 的,整体时间复杂度为 𝑂(𝑛𝑚𝑘) O(nmk).空间上,此方法与普通背包一样可以压缩掉第一维,复杂度是 𝑂(𝑚𝑘) O(mk) 的.

                                                例题 HDU 2639 Bone Collector II 实现 参考资料与注释 背包问题九讲 - 崔添翼. 本页面最近更新:2026/6/20 23:34:20,更新历史 发现错误?想一起完善? 在 GitHub 上编辑此页! 本页面贡献者:Ir1d, sshwy, StudyingFather, Marcythm, partychicken, H-J-Granger, NachtgeistW, Tiphereth-A, countercurrent-time, Enter-tainer, weiranfu, greyqz, iamtwz, Konano, ksyx, ouuan, paigeman, wolfdan666, AngelKitty, CCXXXI, cjsoft, diauweb, Early0v0, ezoixx130, GekkaSaori, GoodCoder666, Henry-ZHR, HeRaNO, Link-cute, LovelyBuggies, LuoshuiTianyi, Makkiy, mgt, minghu6, odeinjul, oldoldtea, P-Y-Y, PotassiumWings, SamZhangQingChuan, shenshuaijie, Suyun514, weiyong1024, Xeonacid, xyf007, Alisahhh, Alphnia, c-forrest, cbw2007, dhbloo, fps5283, GavinZhengOI, Gesrua, hsfzLZH1, hydingsy, kenlig, kxccc, lychees, Menci, n-WN, Peanut-Tang, PlanariaIce, sbofgayschool, shawlleyw, Siyuan, SukkaW, TianKong-y, tLLWtG, WAAutoMaton, weiwch, x4Cx58x54, xk2013, zhb2000, zhufengning 本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用

                                                • 34567890-

                                                  • 1额 1e9

                                                    • 434059865430943298376784575849568594873218273647384578968547643728736728345895676859438762718726345786574318823745849328374568543273672817236478345768954387283746574832873456897865495687965438728374673287634576897865495869543872812767812734589867869543872837647382918273647589687695832187263787457894586895438728736478392873458943847584938475483984754894875674894875483948574839485767483945748985748576748958765849857849

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 1

                                                        • 傻逼

                                                          • iushfhksbksvfkushckukunsdckjscknsckcnskjdcnskjdcnkjsdnckjsdndckjnsdcjknsdckjnsdcjknsdkcj

                                                            • p3n1s

                                                              • 1111111111^{1^{1^{1^{1^{1^{1^{1^{1}}}}}}}}
                                                                • 1 11\space1

                                                                  • Also Try Terraria! Also Try Minecraft!

                                                                    • 9178

                                                                      • 32{}^3\sqrt2
                                                                        • i=17891i2=?\sum_{i=1}^{7891}i^2= ?
                                                                          • sbydcjhweuicbuidcsdbhkbhkcsdbhkccsdbhcscsdcsdbsdcdcbbhjcsdcbcdsbhjcsdhchsdcsdbdshhjhjhhjbhjbhjsdcsbdcbdsbhjcdbhjcdbhcbhbdbhdbhchbbhjcbhjcsdcsdcsd

                                                                            • 9178

                                                                              • Fuck You xwjedu

                                                                                • fuck

                                                                                  • Column
                                                                                    Column
                                                                                    -
                                                                                    ss dsq
                                                                                    • ksenfisbfvyunawuidbeyufdbyufgbhnuqudgydwjeihvgyfhejwiodjoisedcsedwqjoiecsnjkuoehuiscfxhkbexfbcajoueskqwuj

                                                                                      • RosesAreRedVioletsAreBlueWelcometo2.2Roses Are Red Violets Are Blue Welcome to 2.2
                                                                                        • AK IOI

                                                                                          • 78909876789876787676567656765456787656765456765456765678765678

                                                                                            • Roses Are Red
                                                                                              
                                                                                              Violets Are Blue
                                                                                              
                                                                                              Welcome to
                                                                                              
                                                                                              2.2
                                                                                              
                                                                                              Roses Are Red
                                                                                              
                                                                                              Violets Are Blue
                                                                                              
                                                                                              Welcome to
                                                                                              
                                                                                              2.2
                                                                                              
                                                                                              • Roses Are Red

                                                                                                Violets Are Blue

                                                                                                Welcome to

                                                                                                2.2

                                                                                                • 1+1=31+1=3 2×2=52\times2=5 33=7891133^3=78^{91^{13}} FuckYouFuck_{You}
                                                                                                  • …………………………………………………………

                                                                                                    • sbsbsbsbsbsbsbsbsbs